Apache Chroot - ошибка ibase_connect - PullRequest
       10

Apache Chroot - ошибка ibase_connect

2 голосов
/ 05 апреля 2011

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 Ответ

1 голос
/ 05 апреля 2011

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

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

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

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

.
...