下面给你一份在 Ubuntu 上配置 PHP 的完整常见指南,覆盖 PHP 安装、PHP-FPM、Apache / Nginx、常用配置项,适合大多数服务器场景。
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-fpm
常用扩展:
sudo apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip
查看版本:
php -v
Ubuntu 下 PHP 配置路径通常为:
| 类型 | 路径 |
|---|---|
| PHP 主配置 | /etc/php/8.2/cli/php.ini |
| PHP-FPM 配置 | /etc/php/8.2/fpm/php.ini |
| FPM pool 配置 | /etc/php/8.2/fpm/pool.d/www.conf |
⚠️ Web 服务使用的是 fpm/php.ini,不是 cli
sudo apt install apache2
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm
sudo systemctl restart apache2
sudo apt install nginx
编辑站点配置:
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.2-fpm.sock;
}
}
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
编辑:
sudo nano /etc/php/8.2/fpm/php.ini
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 120
date.timezone = Asia/Shanghai
修改后重启 PHP-FPM:
sudo systemctl restart php8.2-fpm
编辑:
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
常用参数:
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
✅ 看到 PHP 信息页说明配置成功
⚠️ 测试完建议删除:
sudo rm /var/www/html/info.php
sudo systemctl status php8.2-fpm
fastcgi_passsudo apt install php7.4 php8.1
切换 CLI 版本:
sudo update-alternatives --config php
如果你愿意,可以告诉我:
我可以给你精确到命令级别的定制配置方案。