我可以有多个php.ini文件吗?

时间:2008-12-08 21:01:07

标签: windows configuration php

我想在 php.ini 文件(include_path)中设置C:\Windows\php.ini变量。

但是,对于托管在同一Windows服务器上的不同站点,我需要不同的include_path值。我怎么能这样做?

4 个答案:

答案 0 :(得分:4)

http://php.net/manual/en/configuration.file.php说:

  

在这些位置搜索php.ini(按顺序):

     

。 。

您可以查看此列表,看看其中一种技术是否有助于您的情况。例如,您可以设置环境变量PHPRC,或者您可以在每个当前工作目录中放置不同的php.ini文件,假设每个虚拟主机都有一个不同的cwd。

请注意,当使用Apache和mod_php或其他模块在Web服务器中嵌入PHP(例如FastCGI)时,在Web服务器启动时会读取一次php.ini文件。当您以CGI方式使用PHP时,在每个Web请求期间都会读取php.ini文件,因此您有更多机会使用不同的php.ini。

答案 1 :(得分:3)

您可以从.htaccess文件设置php include_path,假设您的httpd.conf文件中有正确的AllowOverride设置。以下是一个示例:

的.htaccess

php_value include_path "d:\path\to\include"

答案 2 :(得分:2)

据我了解这个问题,更重要的是为每个服务器/站点提供单独的包含路径,然后是多个php.ini文件?我想尽可能地将你的代码保存在PHP中。

然后您可以使用set_include_path or ini_set设置include_path。

在apache中,您可以使用php_value include_path "<first path to look>:<second path>:<etc>:."在虚拟域或.htaccess文件中进行设置。 IIS可能有类似的方法。

答案 3 :(得分:1)

不幸的是,我认为你不能。但是,一些Web服务器可以单独更改PHP设置...使用mod_php的Apache具有可以在各种虚拟主机上设置的php_value设置,IIS可能有类似的东西,但我不确定。

set_include_path也可以在运行时覆盖包含路径。

P.S。 TF2工程师获胜。