Apache Chroot - ibase_connect失败

时间:2011-04-05 15:51:45

标签: apache firebird interbase chroot

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存在,并且由CLI在脚本时由firebird使用。

当我编译我使用的PHP时--with -interbase = / opt / firebird /

希望这是有道理的,有人有想法!

1 个答案:

答案 0 :(得分: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

之上的任何内容