【问题标题】:Problem of different PHP versions reported报告不同PHP版本的问题
【发布时间】:2011-06-26 22:08:06
【问题描述】:

我已在开发机器(Windows 7 机器)上升级到 PHP 5.3。

php-v 显示

PHP 5.3.3 (cli) (built: Jul 21 2010 20:36:55)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

但是phpinfo.php显示机器上的版本是:5.2.14如图

加载的配置文件正确为5.3加载了正确的php.ini文件 配置文件 (php.ini) 路径 错误地 显示为:C:\Windows - 我没有在上述路径上安装 PHP。然而,我已经对该文件中的 PHP 文件夹和文件进行了递归搜索,但搜索结果一无所获。

应用程序似乎使用 phpinfo 报告的设置,而不是 php -v 或 php -m 或 php -i(或其他)。

除了删除 PHP 文件夹并从头开始(我已经这样做了),并确保 Apache 使用 PHPINIDir 指向正确的 PHP 目录之外,我还能做些什么来解决这个问题?谢谢。

【问题讨论】:

    标签: php phpinfo


    【解决方案1】:

    你好

    你还应该更新 apache php 模块


    @soju - 已经解决了,谢谢,但我想我会让其他人更清楚一点。

    Apache 需要 php 模块来提供 php 文件。在 Windows 上,它以 .dll 文件的形式出现。这将被称为:php5apache2_2.dll - 位于您的 php 文件夹中。奇怪的是,在将 php 文件夹升级为新版本的过程中,您可能会发现 apache 仍然使用旧的 php 模块文件。因此,虽然 php -v 正确报告了新版本,但 Apache 仍然查看旧的 php 模块(由 phpinfo 报告)。要找出您拥有的模块版本,您可以:右键单击 .dll 文件 > 选择属性 -> 查看详细信息选项卡。或者只是将鼠标悬停在文件上。

    如果此版本不是您想要的,您可能需要寻找更新的版本并替换它。好主意先备份。此外,php5apache.dll 文件适用于并需要以下文件:php5ts.dll - 因此请确保这些文件的版本相同。

    使用带有指令的 httpd.conf 文件:

    LoadModule php5_module "\path to\php5apache2_2.dll"
    

    你可以重新启动 apache 并微笑!

    【讨论】:

    • 在您的 httpd.conf 中查看类似“LoadModule php5_module C:\path\to\php.dll”的行。
    • 谢谢,如果你更新 Apache 的 php-module 的意思是 @rik 所说的,那一行写着:LoadModule php5_module "C:/applications/php/php5apache2_2.dll" - 正确指向dll文件。
    • 哦,是的,Apache 已经重启了好几次,但是 phpinfo 一直报告错误的设置。请问有什么想法吗?
    • 需要注意的是,虽然 php 文件夹包含一个 php5ts.dll 文件,但需要更新的文件位于 Apache/bin/ 文件夹中。即 - 将文件从 PHP 目录复制到 Apache/bin/ 目录并重新启动服务器。
    【解决方案2】:

    您的命令行 (CLI) php 与用于 Apache 的版本不同。还要检查两者是否使用相同的 php.ini。当你在你的 Windows 机器上调用时

    c:\path\to\php\php.exe -v 
    

    c:\path\to\php\php-win.exe -v 
    

    c:\path\to\php\php-cli.exe -v 
    

    它们都可以返回不同的版本。当升级到新的 WAMP 版本并忘记删除旧版本时,通常会发生这种情况。我相信您会找到与相同版本匹配的可执行 PHP 二进制文件。在 Windows 上使用 php.exe 或 php-win.exe 代替 php-cli.exe 也可以节省。

    【讨论】:

    • 感谢 powtac,但实际上,我的命令行 (CLI) PHP 是较新的版本。我以前运行过 php -v 命令来显示这一点。但是我已经重新运行它以及 php-win 和 php-cli 替代品。全部返回版本为 5.3.3 - 这又是正确的版本。显然,当 Apache 提供页面服务时,问题就出现了。它似乎正在其他地方寻找 PHP 设置。
    • 那么你必须按照soju所说的升级Apache模块。您不能通过更改配置中的某些内容来更改模块。您必须物理升级 Apache PHP 模块。
    • 你可能指的是 WAMP (SERVER) 而不是 WINAMP ;)
    猜你喜欢
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2015-12-21
    相关资源
    最近更新 更多