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 напрямую
ps: также после того, как chroot, Apache не может получить доступ к чему-либо, расположенному выше ChrootDir