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


phpinfo and php -v show different version on lion

我尝试将我的php从5.3.13升级到5.4.5我已经手动下载了 php 5.4.5 和 ./configure 的源代码,然后 sudo 安装它。

之后,我跑

php -v

它显示 5.4.5,而我运行

<?php phpinfo(); ?>

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

这是一个猜测的答案,因为我没有 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 版本安装在不同的目录中,但这是我能想到的您提供的信息的全部内容。

我想

我只是来自同样的问题。我正在使用OSX lion,并且在没有brew或port的情况下安装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 (,通过打开一个 PHP 页面包含显示 PHP 5.3.15 版本的phpinfo();。我不知道我是如何在我的机器上以不同版本结束的,所以我浏览并浏览解决方案并找到了一个:

更改

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方面没有太多经验,但我希望这可以解决您(或其他所有人(的问题。

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

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

    find / -name php.ini

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

  1. 我删除了所有 php 版本

    sudo apt-get -y purge php*

  2. 然后重新输入所需的 PHP 版本(在本例中为 5.6(

    sudo apt-get install php5.6

我有一个模拟情况,这是由随着时间的推移不同的 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 版本。

如果你在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 版本。