在 Ubuntu 上安装与配置 PHP 的完整教程
一 环境准备与版本选择
- 更新软件源并升级系统(可选):执行命令:sudo apt update && sudo apt upgrade -y。
- 查看可用的 PHP 版本:执行命令:apt search php | grep ^php,在输出中选择需要的版本(如:8.1、8.2、8.3 等)。
- 注意:不同 Ubuntu 版本的默认仓库提供的 PHP 版本不同;若需特定版本,可添加 ondrej/php PPA(生产环境请评估稳定性与来源)。
二 安装 PHP 与常用扩展
- 安装 CLI 与常用扩展(以 PHP 8.1 为例,可按需替换为 8.2/8.3):
- 命令:sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-json
- 验证安装:
- 查看版本:php -v
- 查看已安装模块:php -m
- 说明:
- php-fpm 用于与 Nginx 或 **Apache(以 FPM 模式)**配合处理 PHP 请求。
- 扩展按需增减,例如:php-imagick、php-redis、php-intl 等。
三 与 Web 服务器集成
- 与 Apache 集成(模块方式)
- 安装模块:sudo apt install apache2 libapache2-mod-php
- 重启 Apache:sudo systemctl restart apache2
- 说明:安装后 Apache 会自动解析 .php 文件,无需额外 FastCGI 配置。
- 与 Nginx 集成(PHP-FPM 方式)
- 提示:
- 将以上示例中的 php8.1-fpm.sock 替换为你实际安装的 PHP 版本对应的套接字路径。
四 测试与常用管理命令
- 创建测试文件:echo “” | sudo tee /var/www/html/info.php
- 浏览器访问:http://服务器IP/info.php,看到 PHP 信息页即表示安装与集成成功。
- 常用命令:
- 重启服务:sudo systemctl restart apache2 或 sudo systemctl restart nginx
- 重启 PHP-FPM:sudo systemctl restart php8.1-fpm
- 查看状态:sudo systemctl status php8.1-fpm
- 查看 PHP 配置路径:php --ini
- 安全建议:测试完成后删除 info.php,避免泄露环境信息。
五 常见问题与排错
- 访问 .php 文件被下载而不是解析(多见于 Nginx)
- 检查 location ~ .php$ 配置是否正确,确保包含 fastcgi_pass unix:/run/php/phpX.Y-fpm.sock; 且路径与安装的 PHP 版本一致。
- PHP-FPM 无法启动或 502 错误
- 查看日志:sudo journalctl -u php8.1-fpm;确认 /run/php/php8.1-fpm.sock 存在且权限正确;必要时重启 FPM 与 Nginx。
- 扩展未生效
- 确认扩展包名已安装(如:php-mysql、php-gd);修改 php.ini 或 FPM 池配置后需重启对应服务。
- 多版本并存与切换
- 可同时安装多个 PHP 版本,通过 update-alternatives 切换 php 命令的默认版本,并为不同站点配置对应的 PHP-FPM 套接字。