在 Ubuntu + ThinkPHP 环境下报错,排查通常可以按下面步骤来,从“能看到错误”到“定位代码”逐层排查。
编辑项目根目录的 .env(或 config/app.php):
.env
APP_DEBUG=true
或 config/app.php:
'app_debug' => true,
生产环境一定要关掉
APP_DEBUG
编辑 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
runtime/log/
查看最新日志:
tail -f runtime/log/*.log
常见错误:
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
✅ 检查:
namespace app\controller;
class Index extends \think\Controller
常见原因:
mbstring, gd, curl)检查扩展:
php -m
安装扩展:
sudo apt install php8.1-mbstring php8.1-gd php8.1-curl
sudo chown -R www-data:www-data runtime
sudo chmod -R 755 runtime
composer install
composer dump-autoload
dump($var);
exit;
ThinkPHP 报错页面会显示:
你可以直接把以下信息发我,我可以精准帮你定位:
例如:
ThinkPHP 6 + Ubuntu 22.04 + Nginx + PHP 8.1
报错:Class ‘app\controller\Index’ not found
我可以一步步带你修。