温馨提示×

怎样在Debian调试Laravel

小樊
35
2026-08-01 11:25:48
栏目: 智能运维

在 Debian 上调试 Laravel,通常可以从 环境准备、日志、调试工具、常见错误排查 几个方面入手。下面给你一套比较实用的流程(适用于 Debian 10/11/12)。


一、准备调试环境

1. 安装必要软件

sudo apt update
sudo apt install -y php php-cli php-fpm php-xml php-mbstring php-curl php-zip php-mysql unzip curl

确认 PHP 版本:

php -v

2. 安装 Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version

3. 安装 Laravel

composer global require laravel/installer

把 composer 的全局 bin 加入 PATH(如果还没加):

echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

创建项目:

laravel new demo
cd demo

二、开启 Laravel 调试模式(最重要)

1. 修改 .env

APP_DEBUG=true
APP_ENV=local

⚠️ 生产环境一定不要开启


2. 清除配置缓存

php artisan config:clear
php artisan cache:clear

三、查看 Laravel 日志(首选)

1. 实时查看日志

tail -f storage/logs/laravel.log

2. 常见错误位置

  • SQL 错误
  • 路由错误
  • 中间件错误
  • 权限错误

四、使用 Laravel 自带调试工具

1. dd() / dump()

dd($user);
dump($request->all());

2. ray()(推荐)

composer require spatie/laravel-ray

然后在代码里:

ray($data);

五、调试数据库问题

1. 查看 SQL 日志

\DB::enableQueryLog();
// 执行查询
dd(\DB::getQueryLog());

2. 检查数据库连接

php artisan tinker
DB::connection()->getPdo();

六、调试 Web 请求(Nginx / Apache)

1. Nginx 常见配置

server {
    listen 80;
    server_name demo.test;
    root /var/www/demo/public;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }
}

2. 查看 PHP-FPM 日志

sudo tail -f /var/log/php*-fpm.log

七、权限问题(Debian 常见)

sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache

八、Xdebug(进阶调试)

1. 安装 Xdebug

sudo apt install php-xdebug

2. 配置

zend_extension=xdebug.so
xdebug.mode=develop,debug
xdebug.start_with_request=yes

重启 PHP-FPM:

sudo systemctl restart php*-fpm

配合 VS Code / PHPStorm 使用断点调试。


九、常见 Debian + Laravel 错误速查

错误 原因 解决
500 错误 权限 / 配置 看 laravel.log
Class not found 未 autoload composer dump-autoload
storage 不可写 权限 chown + chmod
SQLSTATE[HY000] 数据库 检查 .env
502 Bad Gateway PHP-FPM 检查 sock 路径

如果你愿意,可以告诉我:

  • ✅ Debian 版本
  • ✅ Laravel 版本
  • ✅ 具体报错信息(贴日志)

我可以 直接帮你定位问题

0