如何在原Laravel Forge配置的Ubuntu 18.04(Nginx)服务器上切换PHP版本至8.x?
如何在原Laravel Forge配置的Ubuntu 18.04(Nginx)服务器上切换PHP版本至8.x?
嘿,我刚好处理过类似脱离Forge面板后切换PHP版本的情况,给你一步步来操作,很简单的:
一、切换CLI默认PHP版本
首先处理命令行里的PHP默认版本,毕竟日常执行Artisan、Composer这些都靠它:
- 先看看当前默认PHP版本:
php -v - 用系统的
update-alternatives工具来管理版本,先列出已注册的PHP选项:
如果输出里没有sudo update-alternatives --list php/usr/bin/php8.1,先把它添加进去(优先级设为10,比旧版本高的话会自动优先):sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 10 - 然后选择默认版本:
这时候会弹出选项列表,输入对应PHP8.1的编号,回车确认就行。sudo update-alternatives --config php - 最后验证一下:
应该显示PHP 8.1的版本信息了。php -v
二、更新Nginx配置以使用PHP8.1-FPM
因为Forge配置的Nginx是通过PHP-FPM来处理PHP请求的,所以得修改每个站点的Nginx配置:
- 找到你的站点配置文件,Forge通常把它们放在
/etc/nginx/sites-available/目录下,比如你的站点是example.com,就编辑这个文件:sudo nano /etc/nginx/sites-available/example.com - 在文件里找类似这样的行(之前可能是旧版本的PHP-FPM socket):
把它改成PHP8.1的socket路径:fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; - 保存退出nano(按
Ctrl+O,回车确认保存,再按Ctrl+X退出) - 先测试Nginx配置是否合法,避免重启后出错:
如果输出sudo nginx -ttest is successful就没问题。 - 重启Nginx让配置生效:
sudo systemctl restart nginx - 最后确保PHP8.1-FPM服务是运行的,并且开机自启:
sudo systemctl start php8.1-fpm sudo systemctl enable php8.1-fpm
做完这些,你的服务器就完全切换到PHP8.1啦,不管是CLI还是Web请求都会用这个版本。
备注:内容来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

