在 Ubuntu 上部署 PHP,常见场景有 命令行运行 和 配合 Web 服务器(Nginx / Apache)运行。下面给你一套 最常用、最实用的部署方案,从简单到完整。
sudo apt update
sudo apt upgrade -y
Ubuntu 22.04 / 24.04 默认仓库中 PHP 版本较新:
sudo apt install php -y
查看版本:
php -v
sudo apt install php-cli php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd -y
✅ 常见扩展说明:
| 扩展 | 用途 |
|---|---|
| php-cli | 命令行运行 |
| php-fpm | Nginx 使用 |
| php-mysql | MySQL 连接 |
| php-curl | 网络请求 |
| php-mbstring | 多字节字符串 |
| php-xml | XML 处理 |
| php-zip | 压缩支持 |
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
sudo apt install php-fpm -y
查看 PHP-FPM 服务名:
systemctl status php*-fpm
例如:
php8.1-fpm
编辑站点配置:
sudo nano /etc/nginx/sites-available/default
修改成如下内容(重点):
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
⚠️ 注意:php8.1-fpm.sock 要和你安装的版本一致
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
sudo apt install apache2 -y
sudo apt install libapache2-mod-php -y
sudo systemctl restart apache2
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
访问:
http://服务器IP/info.php
如果你需要 PHP 7.4 / 8.1 / 8.2 共存:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装指定版本:
sudo apt install php8.2 php8.2-fpm -y
切换版本:
sudo update-alternatives --config php
sudo systemctl start php8.1-fpm
fastcgi_pass 路径.php 文件权限| 场景 | 推荐 |
|---|---|
| 新项目 | PHP 8.1+ + Nginx |
| 老项目 | PHP 7.4 |
| 本地开发 | PHP CLI + Nginx |
| 生产环境 | PHP-FPM |
如果你愿意,可以告诉我:
我可以给你 精确到命令级别 的部署方案。