在安装任何软件前,先更新系统的包索引,确保获取到最新的软件版本和安全补丁:
sudo apt update && sudo apt upgrade -y
这一步能避免因包版本冲突导致的安装失败,是后续步骤的基础。
通过apt包管理器直接安装PHP主程序及常用扩展(覆盖Web开发90%以上的需求),无需手动编译:
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y
php8.2:PHP核心解释器;php8.2-fpm:PHP FastCGI进程管理器(专为Nginx优化,处理并发请求更高效);php8.2-mysql:MySQL数据库驱动(支持PDO、mysqli等扩展);php8.2-curl/gd/mbstring:常用功能扩展(处理HTTP请求、图片生成、多字节字符串等)。若使用Nginx作为Web服务器,需调整PHP-FPM的监听方式(从127.0.0.1:9000改为Unix Socket),提升通信效率:
sudo sed -i 's/listen = 127.0.0.1:9000/listen = \/run\/php\/php8.2-fpm.sock/g' /etc/php/8.2/fpm/pool.d/www.conf
修改后重启PHP-FPM服务,使配置生效:
sudo systemctl restart php8.2-fpm
设置开机自启,避免服务器重启后环境失效:
sudo systemctl enable php8.2-fpm
编辑Nginx的默认站点配置文件(或自定义站点配置),添加PHP处理规则:
sudo nano /etc/nginx/sites-available/default
找到location ~ \.php$部分,替换为以下内容(关键参数说明见注释):
location ~ \.php$ {
include snippets/fastcgi-php.conf; # 引入FastCGI配置(包含SCRIPT_FILENAME等参数)
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 指向PHP-FPM的Socket文件(与步骤3一致)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 确保PHP能获取到正确的脚本路径
include fastcgi_params; # 引入其他FastCGI通用参数
}
保存文件后,测试Nginx配置语法是否正确:
sudo nginx -t
若输出syntax is ok,则重启Nginx使配置生效:
sudo systemctl restart nginx
在Nginx的根目录(默认/var/www/html)创建info.php测试文件,检查PHP是否正常运行:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
在浏览器中访问http://服务器IP/info.php,若看到详细的PHP信息页面(包括版本、扩展列表、配置参数等),则说明环境搭建成功。
若需频繁搭建环境,可编写Shell脚本自动化上述步骤(以LAMP环境为例,适配Apache):
#!/bin/bash
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装Apache
sudo apt install -y apache2
# 安装MySQL并设置root密码
sudo apt install -y mysql-server
sudo mysql_secure_installation
# 安装PHP及扩展
sudo apt install -y php libapache2-mod-php php-mysql
# 重启Apache
sudo systemctl restart apache2
echo "LAMP环境安装完成!"
将脚本保存为lamp_install.sh,赋予执行权限后运行:
chmod +x lamp_install.sh
./lamp_install.sh
脚本能减少手动输入次数,降低出错概率。
通过以上步骤,即可在Ubuntu系统上快速搭建一个稳定、高效的PHP环境,满足大多数Web开发需求。