温馨提示×

Ubuntu下PHP为何报错

小樊
43
2026-07-13 20:03:26
栏目: 编程语言

Ubuntu 下 PHP 报错的原因非常多,必须结合具体报错信息才能精确定位。不过我可以先给你一个常见原因速查清单,你可以对照排查;如果你愿意,把完整报错内容贴出来(终端 / 浏览器 / 日志),我可以一步到位帮你解决。


一、最常见原因速查(90%问题在这里)

1️⃣ PHP 未安装或版本不对

php -v

如果提示 command not found

sudo apt update
sudo apt install php php-cli

2️⃣ Apache / Nginx 未正确解析 PHP

Apache

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

Nginx

Nginx 不能直接解析 PHP,必须配合 PHP-FPM:

sudo apt install php-fpm

并确认 nginx.conf 或站点配置中有:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php-fpm.sock;
}

3️⃣ PHP 扩展缺失(非常常见)

例如:

  • Undefined class 'mysqli'
  • Call to undefined function curl_init()

解决:

sudo apt install php-mysql php-curl php-mbstring php-xml
sudo systemctl restart apache2   # 或 php-fpm

4️⃣ 权限问题(写日志 / 上传 / 缓存)

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

5️⃣ PHP 报错但页面空白

这是错误显示被关闭了。

临时调试(不推荐生产环境):

ini_set('display_errors', 1);
error_reporting(E_ALL);

或查看日志:

# Apache
tail -f /var/log/apache2/error.log

# Nginx + PHP-FPM
tail -f /var/log/php*-fpm.log

6️⃣ PHP 版本冲突

Ubuntu 常同时存在多个 PHP 版本:

update-alternatives --config php

7️⃣ Composer / 依赖错误

composer install
composer dump-autoload

二、快速定位流程(推荐)

  1. 复制完整报错信息
  2. 判断是:
    • 语法错误
    • 扩展缺失
    • 权限问题
    • Web 服务器配置问题
  3. 再看是 CLI 报错 还是 浏览器报错

三、你可以直接这样发我信息

把下面内容贴出来,我可以立刻判断:

  • PHP 版本
php -v
  • Web 服务
nginx -v   # 或 apache2 -v
  • 完整报错原文
  • 报错出现的场景(访问网页 / 命令行 / Composer)

一句话总结

Ubuntu 下 PHP 报错通常是:PHP 没装好、Web 服务没解析 PHP、扩展缺失、权限不对或日志没开。

如果你愿意,把报错贴出来,我直接给你精确解决方案

0