在 Ubuntu 上配置 PHP 时出错很常见,不同错误要不同处理。我给你一个通用排查流程 + 常见错误及解决办法,你可以对照看看;如果还不行,把具体报错信息贴出来,我可以精准帮你。
lsb_release -a
php -v
✅ 正常会显示版本号
❌ 如果提示 command not found 说明没装或没加入 PATH
apt install php 失败 / 找不到包原因:软件源没更新或 PHP 版本太新/太旧
✅ 解决:
sudo apt update
sudo apt install php
如果还是不行,可指定版本:
sudo apt install php8.1
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
测试:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
浏览器访问:
http://服务器IP/info.php
sudo apt install php-fpm
修改 nginx 配置:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
重启:
sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm
✅ 查配置文件位置:
php --ini
常见路径:
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
⚠️ Apache 和 FPM 的 php.ini 不是同一个
✅ 修改后一定重启:
sudo systemctl restart apache2
# 或
sudo systemctl restart php8.1-fpm
原因:PHP 没被解析
✅ 检查:
fastcgi_pass.phpsudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
php -v
php -m
php --ini
systemctl status apache2
systemctl status nginx
systemctl status php*-fpm
你可以直接发我:
1️⃣ Ubuntu 版本
2️⃣ PHP 版本
3️⃣ 用的是 Apache 还是 Nginx
4️⃣ 完整报错信息(复制粘贴)
例如:
Ubuntu 22.04 + PHP 8.1 + Nginx
报错:FastCGI sent in stderr: "Primary script unknown"
我可以一步步带你修 ✅