我尝试将我的 php 从 5.3.13 升级到 5.4.5 我已经手动下载了 php 5.4.5 和 ./configure 的源代码,然后 sudo make 安装它。
在那之后,我跑
php -v
它显示 5.4.5,而我运行
<?php phpinfo(); ?>
它显示 5.3.13。这里有什么问题以及如何解决它。谢谢
这是一个有点猜测的答案,因为我没有 Mac,但根据我的 Winodws 经验,只有当你有 2 个 php 可执行文件并且你的 CLI 使用一个而 Apache 使用另一个时,才会发生这种情况。
在您的phpinfo()
输出中查找 table row Loaded Configuration File
。
我在 Windows 上,所以我说C:\server\php\5.4.3\php.ini
,但你的当然会有所不同。
如果这不是您期望它使用的路径,那么您需要确保更改 Apachehttpd.conf
文件中的路径。
找到 httpd.conf 文件后,找到以下行:PHPIniDir
找到此行后,确保它指向 php.ini 文件的正确目录并重新启动 Apache。
我还要说检查该LoadModule php5_module
行是否也指向正确的文件,但如果您之前使用的是 php 5.3,这可能会没问题。
这个答案确实假设您已经在不同的目录中安装了新的 php 版本,但这就是我根据您提供的信息所能想到的。
我想我只是来自同样的问题。我正在使用 OSX lion 并且在没有 brew 或 port 的情况下安装 PHP 只是使用机器附带的 PHP。
我需要将 mcrypt 模块安装到我正在使用的当前 php 中(当时我没有意识到我的机器上有 2 个版本的 PHP,并且忘记了我是如何安装它的),所以我安装了 homebrew 和之后使用 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 5.3.15 版本的 php 页面。. 我不知道我的机器上的不同版本是如何结束的,所以我浏览并浏览解决方案并找到了一个:
在 httpd.conf 中更改一行应该会更改我正在使用的 php 版本
根据我的经验,这是更改要使用的 PHP 版本的方法:
sudo subl /etc/apache2/httpd.conf
注意:subl
是 sublime text 2,否则你可以使用nano
.LoadModule php5_module libexec/apache2/libphp5.so
,评论它LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so
,对于您的情况,只需将其更改php53
为php54
.sudo apachectl restart
参考: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
并且您的网络服务器是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
now check your php version with phpinfo()
and php -v
on cli.