You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在原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
    
  • 然后选择默认版本:
    sudo update-alternatives --config php
    
    这时候会弹出选项列表,输入对应PHP8.1的编号,回车确认就行。
  • 最后验证一下:
    php -v
    
    应该显示PHP 8.1的版本信息了。

二、更新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):
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    
    把它改成PHP8.1的socket路径:
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    
  • 保存退出nano(按Ctrl+O,回车确认保存,再按Ctrl+X退出)
  • 先测试Nginx配置是否合法,避免重启后出错:
    sudo nginx -t
    
    如果输出test 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 07:19:13