php怎么下载安装到linux服务器_ssh远程部署流程【方法】

PHP应通过系统包管理器安装以避免依赖缺失和权限问题:Ubuntu用apt、CentOS/RHEL用dnf或yum,并需安装php-fpm以支持Nginx;验证需执行php -v和php -m确认版本与扩展,注意多版本共存时Web服务器调用路径及配置生效需重启服务。

PHP 不需要“下载安装包再手动解压”这种桌面软件式操作,Linux 服务器上应通过系统包管理器安装 —— 否则容易缺失依赖、权限混乱、后续升级困难。

apt(Ubuntu/Debian)或 yum/dnf(CentOS/RHEL)装 PHP

直接运行对应命令即可,系统会自动解决依赖并配置基础环境:

  • Ubuntu 22.04+:
    sudo apt update && sudo apt install php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
  • CentOS 8+/RHEL 8+(使用 dnf):
    sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip
  • CentOS 7(yum + EPEL):
    sudo yum install epel-release && sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

注意:php-fpm 是 Web 服务常用模式,php-cli 用于命令行脚本;不装 php-fpm 就无法配合 Nginx 使用。

验证 PHP 是否装好、版本是否符合预期

别只信“安装完成”,要实测:

  • 执行 php -v 看输出是否含版本号(如 PHP 8.1.2),不是报错 command not found
  • 执行 php -m | grep mysql 确认扩展已加载(比如你要连 MySQL)
  • 如果项目要求特定版本(如 Laravel 10 需 PHP 8.1+),而系统默认是 7.4,就得换源或编译安装 —— 别硬凑

SSH 远程部署时,PHP 相关常见翻车点

很多问题不是 PHP 没装,而是环境没对齐:

  • php -v 显示版本,但 Web 页面里 phpinfo() 显示的是旧版本?→ 检查 Web 服务器(Nginx/Apache)调用的 php-fpm 实际路径,可能系统有多个 PHP 并存
  • 上传的 PHP 文件返回 500 或空白页?→ 先看 /var/log/php-fpm/www-error.log/var/log/apache2/error.log,90% 是扩展没开、文件权限不对、或 open_basedir 限制了路径
  • scprsync 传完代码,浏览器访问却提示 File not found.?→ 不是 PHP 问题,是 Web 根目录配置错了,或 index.php 没被设为默认首页(Nginx 要配 index index.php

真正麻烦的从来不是“怎么装 PHP”,而是确认它和 Web 服务、数据库、项目依赖三者能咬合上。每次改完配置,记得 sudo systemctl restart php-fpmsudo systemctl restart nginx,别只 reload。