Manjaro本地LAMPP服务器能否切换PHP版本至5.6用于测试?
切换LAMPP中的PHP版本至5.6(Manjaro系统)
当然可以通过LAMPP完成PHP版本切换,不过因为LAMPP(Linux版XAMPP)默认捆绑单一PHP版本,所以需要手动替换文件或配置多版本共存。下面是具体操作步骤,全程建议用sudo执行命令以确保权限:
步骤1:备份当前LAMPP的PHP环境
先停止LAMPP服务,避免文件被占用:
sudo /opt/lampp/lampp stop
然后备份PHP7.2的关键文件,方便后续回滚:
- 备份PHP二进制执行文件:
sudo mv /opt/lampp/bin/php /opt/lampp/bin/php7.2 sudo mv /opt/lampp/bin/php-cgi /opt/lampp/bin/php-cgi7.2 - 备份PHP模块文件:
sudo mv /opt/lampp/modules/libphp7.so /opt/lampp/modules/libphp7.so.backup - 备份PHP配置文件:
sudo mv /opt/lampp/etc/php.ini /opt/lampp/etc/php7.2.ini
步骤2:获取PHP5.6的LAMPP兼容文件
有两种可靠方式获取PHP5.6的适配文件:
- 方式一:从旧版XAMPP提取:下载带有PHP5.6的XAMPP版本(比如XAMPP 5.6.40,是PHP5.6的最后维护版本),解压后复制以下文件到LAMPP对应路径:
- 复制
bin/php和bin/php-cgi到/opt/lampp/bin/ - 复制
modules/libphp5.so到/opt/lampp/modules/ - 复制
etc/php.ini到/opt/lampp/etc/
- 复制
- 方式二:使用预编译二进制包:下载与LAMPP架构匹配(x86_64)的PHP5.6预编译包,提取后同样复制上述关键文件到对应目录。
步骤3:修改Apache配置加载PHP5.6模块
编辑LAMPP的Apache配置文件:
sudo nano /opt/lampp/etc/httpd.conf
找到加载PHP7模块的行并注释掉:
# LoadModule php7_module modules/libphp7.so
然后添加加载PHP5模块的配置:
LoadModule php5_module modules/libphp5.so
同时确认文件末尾的PHP处理规则适配,比如:
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
如果之前有PHP7的特殊配置,调整为通用或PHP5兼容的规则即可。
步骤4:解决系统依赖问题(关键)
Manjaro是Arch系发行版,默认使用较新的系统库,而PHP5.6依赖旧版本的libssl(比如libssl1.0)。需要安装兼容库:
sudo pacman -S libssl1.0
如果官方仓库没有,可以通过AUR工具(如yay或paru)安装libssl1.0-compat。
步骤5:验证版本切换效果
启动LAMPP服务:
sudo /opt/lampp/lampp start
通过两种方式验证:
- 命令行验证:
应输出PHP5.6的版本信息。/opt/lampp/bin/php -v - 网页验证:在
/opt/lampp/htdocs/下创建info.php文件,内容为:
访问<?php phpinfo(); ?>http://localhost/info.php,查看页面顶部的PHP版本是否为5.6。
重要提醒
PHP5.6已经是**停止维护(End-of-Life)**的版本,存在大量未修复的安全漏洞,仅建议用于本地测试,绝对不要在生产环境使用。如果需要频繁切换版本,可以考虑安装多个LAMPP实例到不同目录(比如/opt/lampp56和/opt/lampp72),通过启动对应目录的服务来切换,这种方式更安全且无需反复替换文件。
内容的提问来源于stack exchange,提问作者Mike Otharan
相关产品推荐
相关产品推荐

