【问题标题】:include_path is not updated as specified in php.iniinclude_path 未按照 php.ini 中的指定更新
【发布时间】:2011-06-16 07:54:21
【问题描述】:

我在 php.ini 中设置了 include_path。

然后我打电话给phpinfo()

include_path 与我在php.ini 中指定的不同。

这是什么原因造成的?

我修改了与phpinfo() 调用中“加载的配置文件”中指定的相同的 php.ini。 php 是通过 apache 模块调用的,我重新启动了 apache - 这也没有帮助。

我使用 Windows Vista、Apache/2.2.14 (Win32) PHP/5.3.1

我在 php 文件的开头调用 set_include_path("..."),但这仅适用于临时解决方法。

【问题讨论】:

  • 我在安装 WAMP 时遇到了这个问题。事实证明,我手动编辑的 wamp\bin\php\phpX.X.X>php.ini 似乎不是 Apache 读取的那个,它使用的是 wamp\bin\apache\Apache2.2.17\bin>php.ini 让我非常疯狂,直到我点击 WAMP 并转到 PHP>PHP.ini 并编辑它从那里,但你可以直接在上面的目录中访问它。
  • 我遇到了完全相同的问题,但 PHP 版本为 5.3.13。我也在windows上运行。似乎 PHP 完全忽略了 php.ini 中的 include_path 设置。我已经确认通过更改其他设置正在读取正确的 ini 文件,并且它们都正确更改。但无论我在 include_path 中放什么,包含路径总是设置为“.;C:\php\pear”。

标签: include php include-path


【解决方案1】:

一种可能性是某处有一个 .htaccess 文件妨碍了您。您可以覆盖 .htaccess 文件中的 php.ini 设置。例如,在您的 .htaccess 中:

php_value include_path <path>

【讨论】:

    【解决方案2】:

    您需要确保您的 include_path 以“.:”开头。

    【讨论】:

    • 是的,它以'.;'开头(用分号代替冒号,因为我用的是Windows)
    【解决方案3】:

    从您的 php.ini 中粘贴您的 include_path= 条目。我知道 php.ini 条目必须在一行上,并且您需要将目录用冒号分隔,否则没有任何技巧。

    【讨论】:

    • 我在windows平台上运行它。冒号用于分隔驱动器号
    • 尝试更改 php.ini 中的其他设置并重新检查 phpinfo()。这些是留下还是改变?由于安全问题,apache/php_mod 可能无法读取您的 php.ini。
    • 当我在其他地方更改 php.ini 时,它会反映在 phpinfo() 输出中
    • php.ini 中有多个 include_path= 设置?否则,我很难过。
    猜你喜欢
    • 2012-06-16
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    • 2014-10-12
    • 2012-12-31
    • 2018-11-14
    相关资源
    最近更新 更多