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

时间:2012-07-22 12:29:20

标签: php osx-lion version

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

之后,我跑

php -v

它显示5.4.5,而我运行

<?php phpinfo(); ?>

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

5 个答案:

答案 0 :(得分:7)

这是一个猜测答案,因为我没有mac,但根据我的Winodws经验,这只会发生,如果你有2个php可执行文件,而你的CLI使用一个而Apache正在使用另一个。< / p>

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版本,但这是我能想到的所有信息。

答案 1 :(得分:5)

我想我刚刚遇到同样的问题。我正在使用OSX Lion并且在没有brew或端口的情况下安装PHP只是使用机器附带的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)

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

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

根据我的经验,这是如何更改要使用的PHP版本:

  • 通过输入终端来编辑您的httpd.conf:sudo subl /etc/apache2/httpd.conf注意:subl用于崇高文字2,否则您可以使用nano
  • 查找专线LoadModule php5_module libexec/apache2/libphp5.so,发表评论
  • 在该行下方添加LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so,就您的情况而言,只需将php53更改为php54
  • 使用终端重启apache:sudo apachectl restart
  • 在浏览器中测试phpinfo(),它出现了我打算使用的版本。

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

我在PHP方面没有太多经验,但我希望这可以解决您(或其他所有人)的问题。

答案 2 :(得分:2)

我在Ubuntu 14.04中遇到了同样的问题,我做了以下事情:

  1. 从根目录我找了php.ini

    find / -name php.ini

  2. 我有两个不同的文件,这意味着我安装了两个不同版本的php,所以

    1. 我删除了所有php版本

      sudo apt-get -y purge php*

    2. 然后重新安装了所需的php版本(在本例中为5.6)

      sudo apt-get install php5.6

答案 3 :(得分:1)

我有一个类似的情况,它是由于php的不同安装版本随着时间的推移以及linux中没有更新的搜索路径引起的。

通过echo $PATH调查。

输出例如:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

在我的情况下,旧版本5.5.9位于最新版本5.5.22之前引用的安装路径中。 5.5.9在/usr/local/bin/安装,5.5.22安装在/usr/bin/

通过将正确的文件夹移动到错误的文件夹之前进行调整,或者更好地卸载旧的php版本。

答案 4 :(得分:0)

如果您使用的是ubuntu,并且您的Web服务器是NGNIX,并且您使用的是php-fpm,则应该更改ngnix的配置:

根据您的地址在/etc/ngnix/sites-available nano中进行更改,并更改fpm版本:

  location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;

然后重新启动您的ngnix

$ sudo service nginx restart

现在在cli上使用phpinfo()php -v检查您的php版本。