报告了不同PHP版本的问题

报告了不同PHP版本的问题,php,phpinfo,Php,Phpinfo,我已经在开发机器(Windows7-box)上升级到PHP5.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.

我已经在开发机器(Windows7-box)上升级到PHP5.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(或else)报告的设置

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

你好

您还应该更新apachephp 模块


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

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

如果这个版本不是您想要的,您可能需要寻找一个更新的版本并替换它。先备份是个好主意。另外,php5apache.dll文件与php5ts.dll文件一起工作,并且需要该文件:php5ts.dll-因此请确保这些文件的版本相同

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

LoadModule php5_module "\path to\php5apache2_2.dll"
您可以重新启动apache并微笑

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

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


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

请参阅httpd.conf中的“LoadModule php5_module C:\path\to\php.dll”一行。谢谢,如果您更新Apache的php模块的意思是@rik所说的,那么该行的内容是:LoadModule php5_module“C:/applications/php/php5apache2_2.dll”-正确指向dll文件。哦,是的,Apache已多次重新启动,但phpinfo不断报告错误的设置。请注意,虽然php文件夹包含一个php5ts.dll文件,但需要更新的文件位于Apache/bin/文件夹中。也就是说,将文件从PHP目录复制到Apache/bin/目录,然后重新启动服务器。我以前运行过php-v命令来说明这一点。但是,我重新运行了它以及php win和php cli替代方案。所有返回的版本均为5.3.3-这也是正确的版本。显然,当Apache出现在图片中提供页面时,问题就出现了。它似乎在别处寻找PHP设置,然后你必须像soju所说的那样升级Apache模块。您不能通过更改配置中的某些内容来更改模块。您必须物理升级Apache PHP模块。您可能指的是WAMP(服务器)而不是WINAMP;)
c:\path\to\php\php-win.exe -v 
c:\path\to\php\php-cli.exe -v