温馨提示×

如何调debian laravel错

小樊
44
2026-09-02 06:31:54
栏目: 智能运维

在 Debian 上调试 Laravel 错误,通常可以从日志、配置、权限、环境几个方面入手。下面按“从快到深”的顺序说明。


一、先看清错误在哪(最快)

1. 打开 Laravel 日志

tail -f storage/logs/laravel.log

大多数错误(SQL、异常、认证)都会写在这里。

2. 打开调试模式(开发环境)

编辑 .env

APP_DEBUG=true
APP_ENV=local

然后清缓存:

php artisan config:clear
php artisan cache:clear

二、Debian 常见“环境级”错误

1. PHP 版本不对

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

2. 缺少 PHP 扩展

常见缺的:

sudo apt install php-mysql php-mbstring php-xml php-curl php-zip php-gd

查看已加载扩展:

php -m

三、权限问题(Debian 最常见)

storage / bootstrap 权限

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

四、Web 服务器错误(Nginx / Apache)

Nginx 示例错误

查看错误日志:

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

常见原因:

  • root 指向 public
  • PHP-FPM 没运行

Nginx 配置要点:

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

五、数据库错误

1. 连不上数据库

mysql -u laravel -p

检查 .env

DB_HOST=127.0.0.1
DB_PORT=3306

2. 迁移报错

php artisan migrate --force
php artisan migrate:status

六、Composer / 依赖问题

重新安装依赖

composer install --no-dev --optimize-autoloader

权限问题

sudo chown -R $USER:www-data vendor

七、命令行调试技巧

手动抛错看堆栈

throw new \Exception('debug');

Artisan 调试

php artisan route:list
php artisan config:show
php artisan view:clear

八、推荐调试工具

  • laravel-debugbar
  • Telescope
composer require laravel/telescope
php artisan telescope:install

如果你能贴出具体报错信息(终端 / 浏览器 / laravel.log),我可以直接帮你定位是哪一类问题。

0