CentOS 7中配置Lampp切换至PHP 7.3单一版本的方法
解决LAMPP中phpinfo()与命令行PHP版本不一致的问题
首先咱们得明确:LAMPP(Linux版XAMPP)是自带独立PHP环境的,你命令行里php -v显示7.3,大概率是系统通过yum等方式安装的PHP,而Apache加载的还是LAMPP内置的7.2版本。要彻底切换到PHP7.3并移除旧版本,按以下步骤操作:
一、替换LAMPP内置的PHP文件
- 先备份旧PHP文件(以防操作出错能回滚):
sudo mv /opt/lampp/bin/php /opt/lampp/bin/php7.2-backup sudo mv /opt/lampp/lib/libphp7.so /opt/lampp/lib/libphp7.so.7.2-backup - 把系统的PHP7.3链接到LAMPP目录:
先找系统PHP7.3的路径,用which php就能查到,比如输出是/usr/bin/php;对应的PHP模块文件libphp7.so,CentOS 7 64位系统一般在/usr/lib64/httpd/modules/libphp7.so。执行以下命令创建软链接:sudo ln -s /usr/bin/php /opt/lampp/bin/php sudo ln -s /usr/lib64/httpd/modules/libphp7.so /opt/lampp/lib/libphp7.so
二、修改LAMPP的Apache配置
编辑LAMPP的Apache主配置文件/opt/lampp/etc/httpd.conf:
- 找到PHP模块加载行,类似:
因为我们已经替换了LoadModule php7_module modules/libphp7.so/opt/lampp/lib下的libphp7.so,这一行通常不用改,但最好确认路径正确。 - 确认PHP配置文件路径,找到类似以下的行,把它指向系统PHP7.3的
php.ini(一般在/etc/php.ini):
如果原来指向的是PHPIniDir "/etc"/opt/lampp/etc/php.ini,也可以直接把系统的配置文件复制过去替换旧文件:sudo cp /etc/php.ini /opt/lampp/etc/php.ini
三、彻底移除PHP7.2版本
既然你不需要保留7.2了,直接卸载系统里的旧版本(如果是yum安装的):
sudo yum remove php72*
之前备份的LAMPP旧PHP文件也可以直接删除:
sudo rm /opt/lampp/bin/php7.2-backup /opt/lampp/lib/libphp7.so.7.2-backup
四、重启LAMPP服务
最后重启LAMPP让所有配置生效:
sudo /opt/lampp restart
现在再访问phpinfo()页面,应该就会显示PHP7.3.23了,同时命令行版本也能保持一致。
内容的提问来源于stack exchange,提问作者briast
相关产品推荐
相关产品推荐

