我想在 php.ini 文件(include_path
)中设置C:\Windows\php.ini
变量。
但是,对于托管在同一Windows服务器上的不同站点,我需要不同的include_path
值。我怎么能这样做?
答案 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工程师获胜。