【问题标题】:Php fastCLI version 5.3.13 ignores include_path setting in ini.phpPhp fastCLI 5.3.13 版忽略 ini.php 中的 include_path 设置
【发布时间】:2013-02-27 17:54:43
【问题描述】:

我在Windows Server 2008 SP1(64 位)上设置PHP。我已经配置了PHP 5.3.13,我设法在here 上找到了它。我已在 IIS 中将其配置为使用 fastCGI。顺便说一句,我使用 PHP 5.3.13 而不是 5.4.3 的原因是因为我无法找到我们需要的扩展 php_win32service 的 5.4 二进制文件。

我遇到的问题是php.ini 中配置的include_pathPHP 完全忽略。我已确认通过更改 ini 中的其他设置来更改正确的php.ini,当我回显phpinfo 时,我看到了这些更改。我的php.iniC:\Windows 文件夹中定义。但无论我在 ini 文件中将 include_path 放在什么位置,我总是会看到 phpinfo 为包含路径显示“.;C:\php\pear”。

我在我的 ini 中的包含路径是从 ini 复制/粘贴到另一台配置并正常工作的服务器上的。新服务器与旧服务器之间的唯一区别在于,新服务器是 64 位的,而新服务器运行的是带有 fastCGI 的 PHP 5.3.13(与运行的是带有 ISAPI 的 5.2.1 不同)。

那么有谁知道include_path 被忽略的事实是版本5.3.13 中的一个错误,还是这种行为是为fastCGI 设计的?我可以在php.ini 中更改一些设置来解决这个问题吗?

【问题讨论】:

  • 我不会像你一样信任php.ini 位置,如果有的话,也尝试修改 Program Files/C:\php 中的位置。是否还有其他设置未反映?
  • 我已经从c:\php 中删除了php.inic:\windows 中的那个是服务器上唯一的 php.ini。我已经通过在 ini 中更改 error_log 来确认它正在被使用,我看到我所做的更改反映在 phpinfo 中。
  • 请查看 phpinfo 输出并报告配置文件 (php.ini) 路径和加载的配置文件的内容
  • @idipous 他已经有了。 @Bruce 这似乎是一个愚蠢的问题,但是由于我以前从未遇到过这个问题,所以您在进行更改后是否重新启动了 IIS?
  • @idipous 加载的配置文件是C:\Windows\php.ini。 @Rudi Visser 是的,我总是在更改 ini 后重新启动 IIS。

标签: php windows iis-7 fastcgi


【解决方案1】:

忽略我在cmets中得出的错误结论,因为我必须承认这个问题实际上是由我的php.ini文件中的错误引起的,所以都是我的错。 ;) 在编辑ini 文件期间的某个时刻,我不小心在其中一个注释行的中间放了一个回车符。这导致ini 的处理在遇到错误时中断了一半。我是在安装 5.4.3 后才发现的,因为这个版本实际上报了一个异常,并且在浏览器中显示了 500 Server Error 消息。

那么我从中学到了什么?始终通过从命令行执行 php -v 来测试您的 ini 文件。如果我这样做了,我会看到有关在解析 ini 文件期间遇到的错误的消息。学习到教训了。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多