Ubuntu系统LAMPP环境PHP版本与CLI不一致,需升级LAMPP的PHP版本
解决LAMPP环境PHP版本与系统PHP不一致的问题
你遇到的情况非常常见——系统全局的PHP已经成功升级到7.2,但LAMPP作为独立的集成环境,默认会使用自身打包的旧版本PHP(这里是5.6),不会自动同步系统的PHP版本。下面是具体的升级步骤:
步骤1:停止LAMPP服务并备份旧PHP
首先确保LAMPP处于停止状态,避免操作过程中出现冲突:
sudo /opt/lampp/lampp stop
然后备份LAMPP自带的旧版PHP,方便后续回滚:
sudo mv /opt/lampp/bin/php /opt/lampp/bin/php5.6
步骤2:将系统PHP 7.2链接到LAMPP
把系统中已安装的PHP 7.2创建软链接到LAMPP的bin目录,让LAMPP调用系统的PHP版本:
sudo ln -s /usr/bin/php /opt/lampp/bin/php
步骤3:同步PHP扩展与配置
LAMPP默认使用自己的扩展目录,需要调整为系统PHP 7.2的扩展目录,否则可能出现扩展缺失的问题:
- 先查看系统PHP 7.2的扩展路径:
php -i | grep "extension_dir"
你会得到类似这样的输出:extension_dir => /usr/lib/php/20170718 => /usr/lib/php/20170718
- 备份LAMPP原有的php.ini配置文件:
sudo cp /opt/lampp/etc/php.ini /opt/lampp/etc/php.ini.bak
- 编辑LAMPP的php.ini,修改扩展目录:
sudo nano /opt/lampp/etc/php.ini
找到extension_dir一行,替换为刚才得到的系统扩展路径,比如:
extension_dir = "/usr/lib/php/20170718"
也可以直接将系统PHP的配置文件替换过去(如果需要同步所有配置):
sudo cp /etc/php/7.2/cli/php.ini /opt/lampp/etc/php.ini
步骤4:重启LAMPP并验证
完成配置后重启LAMPP服务:
sudo /opt/lampp/lampp restart
现在访问localhost/test/common.php,就能看到PHP版本已经更新为7.2了。同时可以在终端执行php -v确认系统全局的PHP版本没有受到影响。
额外注意事项
- 如果遇到某些扩展缺失(比如MySQL、GD库等),可以安装PHP7.2对应的扩展包:
sudo apt-get install php7.2-mysql php7.2-gd php7.2-curl php7.2-mbstring
- 如果上述软链接的方式出现兼容性问题(比如LAMPP的Apache模块和系统PHP不匹配),可以考虑直接下载带PHP7.2的LAMPP安装包,重新部署环境(记得提前备份
/opt/lampp/htdocs目录和数据库数据)。
内容的提问来源于stack exchange,提问作者satya
相关产品推荐
相关产品推荐

