Почему мой php-код не может подключиться к удаленной базе данных sybase в apache, centos 7.3, но может подключиться в консоли? - PullRequest
0 голосов
/ 28 июня 2018

Я новичок в PHP и пытаюсь создать простой сайт. Моя среда разработки: CentOS 7.3, Apache 2.4.33, PHP 7.2.6, а база данных - SAP Sybase IQ 16. Библиотека расширений базы данных создана мной, и я настроил ее автоматическую загрузку в php.ini. Затем я написал test.php следующим образом:

$conn = sasql_connect( "UID=DBA;PWD=sql" );
#$conn = sasql_connect( 'Eng=TestDB;Dbn=TestDB;UID=DBA;PWD=sql;CommLinks=tcpip(host=192.168.101.127;port=8888)' );
if( $conn ) {
    echo "Connected successfully\n";
    $result =sasql_query($conn, 'select * from Users');

    while($row = sasql_fetch_row($result))
    {
        echo $row[3];
        echo "\n";
    }

    sasql_free_result($result);
    sasql_disconnect( $conn );
} else {
    echo "Connection failed\n";
}

Первые две строки в коде - это две разные строки подключения, первая используется для подключения к локальной базе данных, а вторая - для подключения к удаленной базе данных. Я запустил код через консольную команду: php test.php, я могу успешно подключиться к обеим базам данных и получить правильные результаты. Но когда я поместил test.php в apache и посетил его через браузер, я обнаружил, что могу успешно подключиться к локальной базе данных, но не могу подключиться к удаленной базе данных, когда я попытался сделать так, чтобы браузер не ответил, и я должен перезапустите apache, иначе он не будет отвечать ни на один запрос. Я проверил журнал ошибок и доступа apache, сообщений не было. Я также проверил selinux и брандмауэр, они оба были закрыты. Не могли бы вы дать мне какое-нибудь предложение? Большое спасибо за вашу помощь заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...