在web目录FastCGI之外访问PHP Browscap

在web目录FastCGI之外访问PHP Browscap,php,linux,apache,fastcgi,browscap,Php,Linux,Apache,Fastcgi,Browscap,我正在考虑使FastCGI能够处理我所有域上的PHP执行。前几天我试过了,但我的PHP配置遇到了一个问题 我目前在我的服务器上有一个php-browscap.ini,供我的所有域使用。它位于我的公司域目录中,因此类似于: browscap = /var/www/vhosts/mycompany.com/httpdocs/scripts/php_browscap.ini 为了让它工作,我通常不需要做任何事情,因为apache用户可以访问所有的web目录 然而,现在用户必须是特定于域的,我在访问b

我正在考虑使FastCGI能够处理我所有域上的PHP执行。前几天我试过了,但我的PHP配置遇到了一个问题

我目前在我的服务器上有一个php-browscap.ini,供我的所有域使用。它位于我的公司域目录中,因此类似于:

browscap = /var/www/vhosts/mycompany.com/httpdocs/scripts/php_browscap.ini
为了让它工作,我通常不需要做任何事情,因为apache用户可以访问所有的web目录

然而,现在用户必须是特定于域的,我在访问browscap时遇到了权限问题。是否有人知道我可以在PHP配置中实现一个修复程序,以允许访问另一个域目录

e.g. /company/php-browscap.ini
我不想在每个域目录中都放置一个browscap文件,尽管我知道这将是一个解决方案

如果我将文件放在web目录之外,它会工作吗

e.g. /company/php-browscap.ini

其中“company”是我的根目录中的自定义文件夹,其中包含我的服务器的脚本。我没有尝试过这个方法,因为它需要很多更改,但如果我知道它可以工作,我会尝试一下。

如果您将browsecap.ini文件放在具有世界读取权限(例如755 drwxr-xr-x)的目录中,那么FastCGI(或任何用户)都可以读取该文件。此类目录可以是
/usr/lib/php
(如果存在)或
/usr/share


如果将文件chmod为744,则所有用户都可以读取该文件,但不能删除或修改该文件,只要所有父目录都是世界可读的。

将其存储在一个目录中怎么样?所有用户都具有类似/usr/lib/php/browsecap.ini或/usr/share/browsecap.ini之类的只读访问权限?然后修改PHP.ini指向那里,所有的站点都应该能够毫无问题地使用它。这就是我说过的,如果我知道它会工作,我会做的。您是说,如果用户具有适当的权限,FastCGI可以访问“example.com”目录之外的文件?如果权限正确,它可以访问服务器上的任何位置的文件。只要文件和目录设置了世界读取权限,它就可以读取它们(这对于那些目录来说是典型的)。您需要超级用户访问权限才能将文件放置在该位置,但它可以被任何人读取,但不能被修改或删除。您在从主目录读取文件时遇到问题,因为主目录通常没有全局读取权限(它们是chmod 711[无全局读取/写入])。好的,这就是我需要知道的全部。你能把它放在答案里,这样我就可以把它标记为已回答了吗?非常感谢。既然你能这么快回答这个问题,你能不能看看我将要发布的另一个稍微相关的问题。这是关于“open_basedir”和使用FastCGI跨域移动文件?