温馨提示×

ubuntu thinkphp报错怎么排查

小樊
42
2026-10-22 02:42:32
栏目: 编程语言

在 Ubuntu + ThinkPHP 环境下报错,排查通常可以按下面步骤来,从“能看到错误”到“定位代码”逐层排查。


一、先让错误显示出来(最重要)

1. 开启 ThinkPHP 调试模式

编辑项目根目录的 .env(或 config/app.php):

.env

APP_DEBUG=true

或 config/app.php:

'app_debug' => true,

生产环境一定要关掉 APP_DEBUG


2. 打开 PHP 错误显示

编辑 php.ini(Ubuntu 通常路径):

sudo vim /etc/php/8.1/cli/php.ini
sudo vim /etc/php/8.1/fpm/php.ini

确保:

display_errors = On
error_reporting = E_ALL

重启 PHP:

sudo systemctl restart php8.1-fpm

二、看日志(最常用)

1. ThinkPHP 日志

runtime/log/

查看最新日志:

tail -f runtime/log/*.log

常见错误:

  • SQL 错误
  • 控制器不存在
  • 路由错误

2. Nginx / Apache 日志

Nginx

sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log

Apache

sudo tail -f /var/log/apache2/error.log

三、常见 ThinkPHP 报错 & 原因

1. 404 / 控制器不存在

  • 路由没配置
  • 命名空间错误
  • 控制器文件名大小写问题(Linux 严格区分)

✅ 检查:

namespace app\controller;

class Index extends \think\Controller

2. 500 错误

常见原因:

  • PHP 版本不兼容
  • 扩展缺失(如 mbstring, gd, curl)

检查扩展:

php -m

安装扩展:

sudo apt install php8.1-mbstring php8.1-gd php8.1-curl

3. 权限问题(Ubuntu 常见)

sudo chown -R www-data:www-data runtime
sudo chmod -R 755 runtime

4. Composer 报错

composer install
composer dump-autoload

四、快速定位错误的方法

1. 手动打印

dump($var);
exit;

2. 查看异常页面

ThinkPHP 报错页面会显示:

  • 文件
  • 行号
  • 调用栈

五、如果你愿意,可以直接贴报错内容

你可以直接把以下信息发我,我可以精准帮你定位:

  1. 完整报错信息
  2. ThinkPHP 版本
  3. Ubuntu + Nginx / Apache
  4. PHP 版本

例如:

ThinkPHP 6 + Ubuntu 22.04 + Nginx + PHP 8.1
报错:Class ‘app\controller\Index’ not found

我可以一步步带你修。

0 踩