Apache Chroot - ошибка ibase_connect

Apache 2, работает mod_chroot. Может получить доступ к основным HTML и PHP-скриптов в порядке.

Этот тестовый скрипт работает нормально, используя cli php, поэтому я знаю, что строка подключения в порядке.

$host = '127.0.0.1:pubdata';
$password ="*******";
$username="SYSDBA";
$dbh = ibase_connect($host, $username, $password);
.. do query etc

Однако, когда я запускаю это в Chrooted Apache, он возвращает сообщение об ошибке:

Warning: ibase_connect(): Can't access lock files' directory /tmp/firebird in /html/app/webroot/test2.php

Это кажется действительно странным. / tmp / firebird существует и используется firebird при создании сценария CLI.

Когда я компилировал PHP, я использовал --with-interbase=/opt/firebird/

Надеюсь, что это имеет смысл, и у кого-то есть мысль!

1 ответ

Решение

Попробуйте использовать Always localhost: перед или другим внешним IP-адресом перед подключением, а также перезапустите apache + firebird перед подключением

Я предполагаю, что вы используете Classic или SuperClassic firebird, и он пытается подключиться к /tmp и db напрямую

http://firebird.1100200.n4.nabble.com/Fwd-Have-you-tried-firebird-2-5-SuperClassic-from-the-packages-td3053790.html

ps: также после того, как chroot, Apache не может получить доступ к чему-либо, расположенному выше ChrootDir

Другие вопросы по тегам