在 Ubuntu 上配置 PHP,常见且容易踩坑的地方主要集中在 版本选择、PHP-FPM、网页服务器配合、权限、扩展、安全与调试。下面按“必须注意”和“常见坑”给你一个实用清单。
Ubuntu 不同版本默认 PHP 不同:
| Ubuntu 版本 | 默认 PHP |
|---|---|
| 20.04 | PHP 7.4 |
| 22.04 | PHP 8.1 |
| 24.04 | PHP 8.3 |
✅ 建议:
如需多版本:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
✅ 强烈推荐:PHP-FPM + Nginx / Apache
sudo apt install php-fpm
查看版本:
php -v
php-fpm8.1 -v
systemctl status php8.1-fpm
关键点:sock 路径必须一致
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
常见错误:
fastcgi-php.conf两种模式:
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
/etc/php/8.1/
├── cli/php.ini # 命令行
├── fpm/php.ini # Web 使用
✅ Web 环境改的是 fpm/php.ini
sudo nano /etc/php/8.1/fpm/php.ini
改完必须重启:
sudo systemctl restart php8.1-fpm
upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 120
date.timezone = Asia/Shanghai
⚠️ 改完一定要重启 FPM,否则不生效。
ps aux | grep php-fpm
通常是:
www-datasudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
❌ 常见错误:
sudo apt install php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip
查看已安装扩展:
php -m
log_errors = On
error_log = /var/log/php_errors.log
/var/log/nginx/error.log
/var/log/php8.1-fpm.log
✅ 推荐配置:
expose_php = Off
display_errors = Off
allow_url_include = Off
disable_functions = exec,passthru,shell_exec,system
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
⚠️ 测试完立刻删除!
Ubuntu 配 PHP,核心就是:版本对、FPM 正常、sock 对、权限对、改的是 fpm/php.ini、改完重启。
如果你愿意,我可以:
直接告诉我你用的 Ubuntu 版本 + Web 服务器 + PHP 版本 即可。