我尝试将我的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 中遇到了同样的问题,我做了以下操作:
-
从根目录中我查找了 php.ini
find / -name php.ini
得到了两个不同的文件,这意味着我安装了两个不同版本的 php,所以
我删除了所有 php 版本
sudo apt-get -y purge php*
然后重新输入所需的 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 版本。