在 Debian 上调试 Laravel 错误,通常可以从日志、配置、权限、环境几个方面入手。下面按“从快到深”的顺序说明。
tail -f storage/logs/laravel.log
大多数错误(SQL、异常、认证)都会写在这里。
编辑 .env:
APP_DEBUG=true
APP_ENV=local
然后清缓存:
php artisan config:clear
php artisan cache:clear
Laravel 对 PHP 版本有要求:
php -v
如果版本低,安装新版 PHP(如 8.2):
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl
常见缺的:
sudo apt install php-mysql php-mbstring php-xml php-curl php-zip php-gd
查看已加载扩展:
php -m
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
如果你用 php artisan serve:
sudo chown -R $USER:www-data storage
查看错误日志:
tail -f /var/log/nginx/error.log
常见原因:
root 指向 publicNginx 配置要点:
root /var/www/laravel/public;
index index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
重启服务:
sudo systemctl restart nginx php8.2-fpm
mysql -u laravel -p
检查 .env:
DB_HOST=127.0.0.1
DB_PORT=3306
php artisan migrate --force
php artisan migrate:status
composer install --no-dev --optimize-autoloader
sudo chown -R $USER:www-data vendor
throw new \Exception('debug');
php artisan route:list
php artisan config:show
php artisan view:clear
laravel-debugbar Telescopecomposer require laravel/telescope
php artisan telescope:install
如果你能贴出具体报错信息(终端 / 浏览器 / laravel.log),我可以直接帮你定位是哪一类问题。