我已经在开发机器(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目录,我可以做些什么来解决这个问题?感谢。
答案 0 :(得分:5)
您好
你还应该更新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并微笑!
答案 1 :(得分:1)
您的命令行(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也可以节省。