Неустранимая ошибка: класс 'COM' не найден в php 5.6

1

У меня есть несколько баз данных MS Access, размещенных на веб-сервере Linux, который размещается на GoDaddy. но когда я пытаюсь войти через мой портал входа, это дает мне ошибку: Fatal error: Class 'COM' не найден в /home/buerer/public_html/flames/events/checklogin.php в строке 11

вот код для файла checklogin.php:

<?php
session_start();
ini_set('display_errors', 1); error_reporting(E_ALL);
global $rs;
// parse username and password sent from signup form post to php variables
$myusername=$_POST['myusername']; 
$mypassword=$_POST['mypassword']; 
$access = realpath("db/users.mdb");
$_SESSION['accessLevel'] = "READ DATA FROM TABLE";
//create connection as COM object
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
//create recordset as new COM object
$rs = new COM('ADODB.Recordset')  or exit('Cannot create recordset.');
//dim connection with driver and password
  $conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$access;Jet OLEDB:Database Password='softball1234';");
//$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$access;Jet OLEDB:Database Password=$mypassword;");
$sql = "SELECT * FROM tblUsers WHERE VendorCode='$myusername' and Password='$mypassword'";
//execute sql in connection to database to store are recordset
$rs = $conn->Execute($sql);


if ($rs->EOF) {
        echo "Wrong Username or Password";
        print "<br>Click <a href=main_login.php>here</a> to try again.";

  //print $rs->ErrorMsg(); // Displays the error message if no results could be returned
}else{
        $_SESSION['AccessLevel'] = $rs->fields["AccessLevel"]->value;
        $_SESSION['MailingListID'] = $rs->fields["MailingListID"]->value;
        $count = 0;
    while (!$rs->EOF) { 
        $count++;
        $rs->MoveNext();
     } //while !$rs->eof

    if($count>0){
        // Register $myusername, $mypassword and AccessLevel and redirect to file "selection.php"
        $_SESSION['username'] = $myusername;
        $_SESSION['password'] = $mypassword;


        //$_SESSION['AccessLevel'] = $rs->fields["AccessLevel"]->value;

        header("location:selection.php");
    }else {

        echo "Wrong Username or Password";
        print "<br>Click <a href=main_login.php>here</a> to try again.";
        session_destroy();
        }
}
?>

Я не могу найти файл php.ini в моем файловом менеджере GoDaddy, кто-нибудь знает, как исправить эту проблему?

  • 3
    Класс COM является расширением только для Windows. Что вы ожидаете на сервере NIX?
  • 0
    Да, я могу @ webDev
Показать ещё 3 комментария
Теги:
ms-access
webserver

1 ответ

0

Из PHP 5.4.5 COM и DOTNET больше не встроены в php core. Вам нужно добавить поддержку COM в php.ini:

[COM_DOT_NET] extension = php_com_dotnet.dll В противном случае вы увидите это в своем журнале ошибок: Fatal error: Class 'COM' not found

  • 1
    Поскольку OP добавил тег linux , я думаю, что это его ОС, поэтому вы также можете упомянуть, что расширение COM недоступно в системах nix.
  • 0
    Знаете ли вы, где я могу получить доступ к своему файлу php.ini на веб-сервере Linux? путь к phpinfo.ini не существует.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню