在 Ubuntu 中配置 PHP,通常分为 安装 PHP、配置 PHP 本身、配置与 Web 服务器(Apache / Nginx)的配合 三大部分。下面按常见场景一步步说明(以 Ubuntu 20.04 / 22.04 为例,PHP 7.4 / 8.x 通用)。
sudo apt update
sudo apt install php8.1
如果你需要常见扩展:
sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-xml php8.1-curl php8.1-mbstring php8.1-zip
如果是 PHP 7.4:
sudo apt install php7.4 php7.4-fpm
/etc/php/8.1/
常见目录结构:
/etc/php/8.1/
├── cli/php.ini # 命令行 PHP
├── fpm/php.ini # PHP-FPM(Web 用)
└── fpm/pool.d/www.conf
sudo nano /etc/php/8.1/fpm/php.ini
常用配置项:
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 300
date.timezone = Asia/Shanghai
修改后重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo apt install apache2 libapache2-mod-php8.1
sudo a2enmod php8.1
sudo systemctl restart apache2
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
sudo apt install nginx
sudo systemctl status php8.1-fpm
编辑站点配置:
sudo nano /etc/nginx/sites-available/default
关键配置:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
sudo systemctl restart nginx
sudo nano /etc/php/8.1/fpm/pool.d/www.conf
常见参数:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data
php -v
✅ 原因:PHP 未正确解析
✅ 解决:检查 Nginx / Apache 是否配置 PHP
✅ PHP-FPM 未启动或 sock 路径错误
sudo systemctl restart php8.1-fpm
✅ 修改的是 fpm/php.ini 而不是 cli/php.ini
✅ 记得重启 PHP-FPM
你可以告诉我:
我可以给你 精确到命令级别的配置方案 ✅