“PHP 在 Linux 怎么配置”通常分几种情况,我按最常见场景给你一个清晰、实用的配置指南(以 Linux + Nginx/Apache + PHP-FPM 为主,适用于 CentOS / Ubuntu / Debian)。
sudo apt update
sudo apt install php php-fpm php-mysql php-cli php-common
sudo dnf install epel-release
sudo dnf install php php-fpm php-mysqlnd php-cli
安装完成后检查:
php -v
php.ini
常见位置:
/etc/php/8.x/cli/php.ini 和 /etc/php/8.x/fpm/php.ini/etc/php.ini⚠️ CLI 和 FPM 是两套配置,Web 用 FPM 的配置
/etc/php/8.x/fpm/
重要文件:
pool.d/www.conf # PHP-FPM 进程池
user = nginx
group = nginx
listen = /run/php/php8.x-fpm.sock
CentOS 一般是:
user = apache
group = apache
listen = 127.0.0.1:9000
重启 PHP-FPM:
sudo systemctl restart php8.x-fpm
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
测试并重载:
nginx -t
systemctl reload nginx
sudo apt install libapache2-mod-php
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.x-fpm
重启 Apache:
systemctl restart apache2
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
date.timezone = Asia/Shanghai
修改后重启:
systemctl restart php-fpm
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
❌ 502 Bad Gateway
→ PHP-FPM 没启动 / socket 路径不对
❌ 页面直接下载 PHP
→ Nginx/Apache 没解析 PHP
❌ 修改 php.ini 不生效
→ 改错配置文件(CLI vs FPM)
你可以直接告诉我:
我可以给你精确的一步步配置命令。