将 PHP 监禁在 OpenBasedir 或 Debian 文档根目录下

将 PHP 监禁在 OpenBasedir 或 Debian 文档根目录下

我有一个运行 Debian Squeeze Debian Squeeze / Apache2 / FastCGI / MySQL / Froxlor 的 VServer。客户、域和 FTP 帐户的管理均使用 Froxlor 执行。

以下问题:如果我在用户的 Web 空间上安装 Roundcube 之类的应用程序,则需要在配置中设置日志文件的路径。
如果我将 webroot 作为根目录,我将设置“/mail/log/”作为日志文件夹的路径(基于 Web 空间的根目录),但 PHP 正在使用此路径并在 (/mail/log) 下查找实际系统路径。
现在我收到“安全模式限制生效”错误

-> 当然,在 Debian 系统中它无权访问这条路径。

为了解决这个问题,我必须将真实系统路径设置为日志文件夹(/var/customers/webs/xxx/mail/log)。

是否可以将 PHP 限制在 webroot(或 openbasedir)中,让其认为 php 根目录是使用 apache(vhosts 或 php.ini)的用户的根目录(/var/customers/webs/xxx/)。这样配置 PHP 应用程序会容易得多。


更新09.11:

我发现许多人运行多个 Apache 实例(每个实例对应一个用户)来解决这个问题。
但一定有更有效的方法将 PHP 限制在文档根目录中。


我希望你可以帮助我 :)

提前致谢,
芬顿

相关内容