温馨提示×

PHP配置Ubuntu出错咋办

小樊
38
2026-07-01 02:11:35
栏目: 编程语言

在 Ubuntu 上配置 PHP 时出错很常见,不同错误要不同处理。我给你一个通用排查流程 + 常见错误及解决办法,你可以对照看看;如果还不行,把具体报错信息贴出来,我可以精准帮你。


一、先确认基础环境

1️⃣ 查看 Ubuntu 版本

lsb_release -a

2️⃣ 查看 PHP 是否已安装

php -v

✅ 正常会显示版本号
❌ 如果提示 command not found 说明没装或没加入 PATH


二、常见错误 & 解决方法

❌ 1. apt install php 失败 / 找不到包

原因:软件源没更新或 PHP 版本太新/太旧

✅ 解决:

sudo apt update
sudo apt install php

如果还是不行,可指定版本:

sudo apt install php8.1

❌ 2. PHP 与 Apache / Nginx 不生效

✅ Apache

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

测试:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

✅ Nginx

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

❌ 3. 修改 php.ini 不生效

✅ 查配置文件位置:

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

❌ 4. 页面显示源码而不是执行 PHP

原因:PHP 没被解析

✅ 检查:

  • Apache 是否加载 PHP 模块
  • Nginx 是否正确配置 fastcgi_pass
  • 文件后缀是 .php

❌ 5. 权限问题(Permission denied)

sudo 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"

我可以一步步带你修 ✅

0