我正在考虑启用 FastCGI 来处理我所有域上的 PHP 执行。前几天我试过了,但我的 PHP 配置遇到了一个问题。
我目前在我的服务器上有一个 php-browscap.ini,供我的所有域使用。它位于我公司的域目录中,如下所示:
browscap = /var/www/vhosts/mycompany.com/httpdocs/scripts/php_browscap.ini
为了使其正常工作,我通常不需要做任何事情,因为 apache 用户可以访问所有 Web 目录。
但是,既然用户必须是特定于域的,我在访问 browscap 时遇到了权限问题。有没有人知道我可以在我的 PHP 配置中实现以允许访问另一个域目录的修复程序?
我不想在每个域目录中都放置一个 browscap 文件,尽管我知道这是一个修复方法
如果我将文件放在 web 目录之外,它会工作吗?
e.g. /company/php-browscap.ini
其中“公司”是我根目录中的一个自定义文件夹,其中包含我的服务器的脚本。我还没有尝试过这个,因为它需要进行大量更改,但如果我知道它会起作用,那么我会试一试。
最佳答案
如果您将 browsecap.ini 文件放在具有全局读取权限的目录中(例如 755 drwxr-xr-x),那么 FastCGI(或任何用户)都可以读取该文件。此类目录可以是 /usr/lib/php
(如果存在)或 /usr/share
。
如果将文件 chmod 为 744,那么所有用户都可以读取它但不能删除或修改它,只要所有父目录也是全局可读的。
关于php - 在 web 目录外访问 PHP Browscap FastCGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9047984/