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

3

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

但是,我希望在同一台Windows服务器上托管的不同网站有不同的include_path值。我该怎么做?

4个回答

4

http://php.net/manual/zh/configuration.file.php 上说:

php.ini 文件搜索顺序如下:

. . .

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

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


3
您可以通过在.htaccess文件中设置正确的AllowOverride设置来设置php include_path。以下是一个示例:

.htaccess

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

1
这个问题从未提到Apache。 - Powerlord
该问题确实提到了Windows。 - Zack Peterson

2
据我理解,对于每个服务器/站点来说,拥有单独的包含路径比拥有多个php.ini文件更重要。我建议尽可能在PHP中保留您的代码。
然后,您可以使用set_include_path或ini_set设置包含路径。
在Apache中,您可以在虚拟域或.htaccess文件中使用php_value include_path "<first path to look>:<second path>:<etc>:."进行设置。IIS可能有类似的方法。

1

很遗憾,我认为你不能这样做。不过,一些Web服务器可以根据个别情况更改PHP设置... 使用mod_php的Apache有php_value设置,您可以在各种虚拟主机上设置,IIS可能也有类似的设置,但我不确定。

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

P.S. TF2工程师获胜。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接