【问题标题】:Can I have multiple php.ini files?我可以有多个 php.ini 文件吗?
【发布时间】:2008-12-08 21:01:07
【问题描述】:

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

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

【问题讨论】:

    标签: windows configuration php


    【解决方案1】:

    http://php.net/manual/en/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。

    【讨论】:

      【解决方案2】:

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

      .htaccess

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

      【讨论】:

      • 这个问题从来没有提到 Apache。
      • 问题确实提到了 Windows。
      【解决方案3】:

      据我了解,更重要的是为每个服务器/站点设置单独的包含路径,然后是多个 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 大概也有类似的方法。

      【讨论】:

        【解决方案4】:

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

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

        附:为胜利而战的 TF2 工程师。

        【讨论】:

          猜你喜欢
          • 2023-04-03
          • 2010-09-29
          • 1970-01-01
          • 2019-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-20
          • 2014-08-03
          相关资源
          最近更新 更多