phpinfo和php -v在狮子上显示不同的版本

fen*_*ngd 8 php version osx-lion

我尝试将我的php从5.3.13升级到5.4.5我手动下载php 5.4.5和./configure的源代码然后sudo make install it.

在那之后,我跑了

php -v
Run Code Online (Sandbox Code Playgroud)

它显示5.4.5,而我跑

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

它显示5.3.13.这里有什么问题以及如何解决它.谢谢

Jak*_*cas 7

这是一个猜测答案,因为我没有mac,但根据我的Winodws经验,只有当你有2个php可执行文件并且你的CLI使用一个而Apache正在使用另一个时,才会发生这种情况.

在您的phpinfo()输出中查找表行Loaded Configuration File.

我在Windows上,所以我说,C:\server\php\5.4.3\php.ini但你的当然会有所不同.

如果这不是您期望它使用的路径,那么您需要确保更改Apache httpd.conf文件中的路径.

找到httpd.conf文件后找到该行: PHPIniDir

当您找到此行时,请确保它指向php.ini文件的正确目录并重新启动Apache.

我还要说检查LoadModule php5_module线路也指向正确的文件,但如果您之前使用的是php 5.3,那么可能会没问题.

这个答案确实假设你已经在另一个目录中安装了新的php版本,但这是我能想到的所有你提供的信息.


Win*_*ndo 5

我想我只是来自同样的问题.我正在使用OSX lion并且正在安装PHP而没有brew或端口只是使用机器附带的PHP.

我需要将mcrypt模块安装到我正在使用的当前php(当时我没有意识到我的机器上有2个版本的PHP,并忘记了我是如何安装的),所以我安装了自制软件使用brew安装mcrypt.在安装之后,我打开浏览器并通过phpinfo()我发现PHP版本与我安装mcrypt模块的版本不同,因此无法使模块工作.

这是它在终端中显示的内容:

Windo-MBP:~ herwindoartono$ php --version
PHP 5.3.23 (cli) (built: May  4 2013 06:43:49)
Run Code Online (Sandbox Code Playgroud)

并从浏览器(本地apache),通过打开一个包含phpinfo();显示PHP 5.3.15版本的php页面..我不知道我的机器上的不同版本是如何结束的,所以我浏览并浏览解决方案并找到一个:

在httpd.conf中更改一行应该改变我正在使用的php版本

这是根据我的经验改变使用哪个PHP版本的方法:

  • 通过在终端输入来编辑你的httpd.conf:sudo subl /etc/apache2/httpd.conf注意:subl是用于sublime文本2,否则你可以使用nano.
  • 找到行LoadModule php5_module libexec/apache2/libphp5.so,评论它
  • 在该行下面添加:LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so,对于您的情况,只需更改php53php54.
  • 使用终端重启apache: sudo apachectl restart
  • 在浏览器中测试phpinfo(),它与我打算使用的版本一起出来.

参考:https://github.com/josegonzalez/homebrew-php/issues/448

我没有太多的PHP经验,但我希望这可以解决你(或其他人)的问题.