使用apache配置为每个站点指定PHP包含目录

使用apache配置为每个站点指定PHP包含目录,php,apache,.htaccess,include-path,Php,Apache,.htaccess,Include Path,我最近切换到fastcgi,现在我在设置php include路径时遇到了问题,该路径以前在.htaccess中设置为: php_value include_path "[INCLUDE PATH]" 由于切换,这会产生以下错误: 无效命令“php_value”,可能拼写错误或由模块定义 不包括在服务器配置中 据我所知,“php_值”不能通过htaccess和fastcgi设置 有没有什么方法可以绕过这个问题,或者全局地为整个站点指定包含子目录的php包含路径,比如通过apache配置 我知道

我最近切换到fastcgi,现在我在设置php include路径时遇到了问题,该路径以前在.htaccess中设置为:

php_value include_path "[INCLUDE PATH]"
由于切换,这会产生以下错误:

无效命令“php_value”,可能拼写错误或由模块定义 不包括在服务器配置中

据我所知,“php_值”不能通过htaccess和fastcgi设置

有没有什么方法可以绕过这个问题,或者全局地为整个站点指定包含子目录的php包含路径,比如通过apache配置


我知道我可以在php中手动设置每个脚本的包含路径,也可以在目录中的php.ini中指定包含路径,但是这些网站已经建立了很多文件和目录,要通过每个文件和目录复制新的include路径或php.ini文件会很麻烦。

你运气不好,因为只有php模块支持
php\u值
php\u标志
指令

您可以为每个网站创建一个
php.ini
文件。从内存中,您需要一个完整的
php.ini
文件,因为新文件将完全覆盖系统文件

一种简单的方法是复制系统文件,然后添加自定义属性,例如

cp /usr/share/php5/php.ini /path/to/site/php.d/php.ini \
&& echo 'include_path = "[INCLUDE PATH]"' >> /path/to/site/php.d/php.ini
然后,在站点的
.htaccess
文件中,设置
PHPRC
环境变量。这是为了避免在每个目录中添加
php.ini
文件

SetEnv PHPRC /path/to/site/php.d
理想情况下,每个站点都应该在代码中包含自己的
路径。这将使您的应用程序更加可移植

set_include_path(implode(PATH_SEPARATOR, [
    '[INCLUDE_PATH'],
    get_include_path()
]));

那太好了,谢谢!但它似乎无法通过phpinfo()识别新的php.ini(无论我是通过SetEnv在.htaccess中设置的),还是即使我将其包含在目录中。不过,它可以与SUPPP配合使用。我目前在suEXEC关闭的情况下运行FastCGI-我需要做什么特别的事情吗?@peter986532啊,对不起,我只通过suEXEC完成过,所以帮不了你