模块目录下site.php,使用apache配置为每个站点指定PHP包含目录

我最近切换到fastcgi,现在我有一个问题,设置以前在.htaccess中设置的php include路径为:

php_value include_path "[INCLUDE PATH]"

从开关开始,这就产生了错误:

Invalid command ‘php_value’, perhaps misspelled or defined by a module

not included in the server configuration

而我的理解’php_value’不能通过fastcgi通过htaccess设置.

有没有办法绕过这个或全局指定包含子目录的整个站点的php包含路径,例如通过apache配置?

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

最佳答案 你几乎没有运气,因为只有PHP模块支持php_value和php_flag指令.

你可以做的是为每个网站创建一个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

但理想情况下,每个站点都应该在代码中处理自己的include_path.这将使您的应用程序更加便携.

set_include_path(implode(PATH_SEPARATOR, [

'[INCLUDE_PATH'],

get_include_path()

]));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值