在 Ubuntu 上配置 PHP(通常是配合 Nginx 或 Apache 使用),有几个容易踩坑但很关键的点。下面按「安装 → 配置 → 安全 → 排错」给你梳理一下。
Ubuntu 默认源里的 PHP 版本可能较旧:
php -v
如果需要新版本(如 8.2 / 8.3):
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3 php8.3-fpm
✅ 推荐:PHP-FPM(性能更好,Nginx 必用)
确保安装:
sudo apt install php8.3-fpm nginx
Nginx 配置示例:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
⚠️ 常见错误:
fastcgi_pass 路径写错include fastcgi_params.php 文件被直接下载如果用 Apache:
sudo apt install libapache2-mod-php8.3
sudo a2enmod php8.3
配置文件位置:
/etc/php/8.3/fpm/php.ini # FPM
/etc/php/8.3/cli/php.ini # 命令行
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
cgi.fix_pathinfo=0 # 安全重要
改完重启:
sudo systemctl restart php8.3-fpm
www-datasudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
⚠️ 不要用 777
disable_functions = exec,passthru,shell_exec,system,proc_open
display_errors = Off
log_errors = On
检查:
sudo tail -f /var/log/php8.3-fpm.log
sudo tail -f /var/log/nginx/error.log
.phplocation ~ \.php$systemctl status php8.3-fpm
sudo apt install php8.3-mysql php8.3-curl php8.3-mbstring php8.3-gd
装完重启 FPM。
如果你告诉我:
我可以直接给你一套可用配置模板。