сервер — сбой соединения PHP и ADODB

Мне было поручено перенести серверы. Это включает в себя перемещение по приложениям, которые я не создавал, у некоторых из которых есть соединение ADODB.con, которое я не могу исправить на новых серверах (у меня только пустые экраны).

Я достаточно тщательно исследовал ADODB.connection с PHP и не могу найти определенный источник. Большинство из них связаны с VB Script или даже с документами Excel. Я даже искал на YouTube, и единственное, что я нашел, было даже не на английском.

Я взял код предыдущего разработчика и создал test.php:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

// echo 'hello' <-- I can show this to the page
$Conn = New COM("ADODB.Connection");
// echo 'hello again' <-- this will not show
$RS = New COM("ADODB.Recordset");

$Conn->Provider = "ADsDSOObject";
$Conn->Properties['User ID'] = "[email protected]";
$Conn->Properties['Password'] = "password";
$strConn = "Active Directory Provider";
$Conn->Open($strConn);
?>

Как вы увидите из приведенного выше кода, я, очевидно, могу вывести «hello» перед переменной $ conn. Ничто не работает после переменной $ conn.

Я не знаком с ADODB.connection или Active Directory.

Как я могу протестировать этот код, если я не могу ничего отразить после переменной $ conn? Что мне не хватает? Что я могу добавить?

Я не вижу ничего, связанного с ADODB в phpinfo. Наиболее близким является ODBC, который включен.

редактировать

Я просто добавил 2 дополнительные строки по запросу @Hackerman.

Вот ошибки, отображаемые на странице:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\htdocs\application1\include\database.php on line 25

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in D:\htdocs\application1\include\database.php on line 28

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 226

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 237

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 100

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 180

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 226

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 226

Deprecated: Function mysql_numrows() is deprecated in D:\htdocs\application1\include\database.php on line 237

Fatal error: Class 'COM' not found in D:\htdocs\application1\admin\test.php on line 8

Предыдущий разработчик действительно использовал MySQL вместо mysqli или PDO, что объясняет устаревшие ошибки.

Я надеюсь, что последняя ошибка проливает свет на проблему ADODB.

Редактировать 2

Установил файл php_com_dotnet.dll в папку расширения и включил этот файл в файл php.ini и получил следующую ошибку:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `ADODB.Connection': The specified module could not be found. ' in D:\htdocs\application1\admin\test.php:8 Stack trace: #0 D:\htdocs\application1\admin\test.php(8): com->com('ADODB.Connectio...') #1 {main} thrown in D:\htdocs\application1\admin\test.php on line 8

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]