如何将Amazon Linux AMI 2018.03 EC2实例的默认PHP设为7.3?
解决Amazon Linux AMI 2018.03默认PHP版本切换到7.3的问题
方法1:强制设置alternatives默认版本
如果通过alternatives --config php选择版本后不生效,直接执行命令指定PHP7.3为默认:
sudo alternatives --set php /usr/bin/php-7.3
执行完成后,分别运行php -v和alternatives --display php确认默认版本是否切换成功。
方法2:检查用户环境变量冲突
当前用户的环境配置可能覆盖了alternatives的设置,按以下步骤排查:
- 检查是否存在PHP别名:
alias | grep php
如果输出类似alias php='/usr/bin/php-7.3'的内容,说明当前用户通过别名强制使用了7.3,但系统全局默认仍为7.0。若需要全局生效,可删除该别名,或确保alternatives设置正确。
- 检查PATH优先级:
echo $PATH
如果/usr/local/bin等路径在/usr/bin之前,且该路径下存在指向PHP7.3的php链接,会优先于alternatives的设置。可删除该路径下的php链接,或调整PATH顺序让/usr/bin靠前。
方法3:刷新环境变量
环境变量未及时加载也可能导致设置不生效,执行以下命令刷新:
source ~/.bashrc source ~/.bash_profile
或直接关闭当前终端,重新连接EC2实例后再测试。
方法4:适配Web服务器(若为Web环境)
如果是Web服务使用PHP,需同步更新对应模块:
- Apache环境:
确保加载的是PHP7.3模块,重启服务并验证:
sudo yum install php73-apache2 sudo a2dismod php70 sudo a2enmod php73 sudo service httpd restart # 验证模块 httpd -M | grep php
- Nginx环境:
修改Nginx配置文件,将fastcgi_pass指向PHP7.3的FPM套接字/端口,例如:
fastcgi_pass unix:/var/run/php-fpm/php-fpm-7.3.sock;
然后重启服务:
sudo service nginx restart sudo service php-fpm-7.3 restart
内容的提问来源于stack exchange,提问作者shotdsherrif
相关产品推荐
相关产品推荐

