在 Ubuntu 下使用 ThinkPHP 报错,通常可以按下面思路一步步排查和解决。我先给你一个通用排查流程,再说常见错误和对策。
编辑项目根目录的 .env(没有就复制 .env.example):
APP_DEBUG = true
然后清空缓存:
php think clear
不开启 DEBUG,你只会看到空白页或 500,很难定位问题。
ThinkPHP 日志在:
runtime/log/
查看最新日志:
tail -f runtime/log/*.log
常见日志位置:
runtime/log/20260101.logruntime/log/cli/原因通常是:
php -v
ThinkPHP 要求:
sudo apt install php-cli php-common php-mbstring php-xml php-curl php-mysql php-zip
常见于 runtime 目录
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 runtime
sudo chmod -R 777 runtime
(开发环境可 777,生产环境不建议)
如果你用 Nginx:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
如果你用 Apache,确保开启:
sudo a2enmod rewrite
并且项目根目录有 .htaccess
执行:
composer install
composer dump-autoload
检查:
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
测试:
mysql -u root -p
Ubuntu 上 MySQL 可能用 sudo mysql 登录。
APP_DEBUG = trueruntime/logcomposer install 执行过把下面信息发我:
例如:
TP8 + Ubuntu 22.04 + Nginx,报错:
Class 'think\facade\Db' not found
我可以直接给你具体改法。