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免费学习笔记(深入)”;
- 执行
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限制了路径 - 用
scp或rsync传完代码,浏览器访问却提示File not found.?→ 不是 PHP 问题,是 Web 根目录配置错了,或index.php没被设为默认首页(Nginx 要配index index.php)
真正麻烦的从来不是“怎么装 PHP”,而是确认它和 Web 服务、数据库、项目依赖三者能咬合上。每次改完配置,记得 sudo systemctl restart php-fpm 和 sudo systemctl restart nginx,别只 reload。











