温馨提示×

centos怎么调试laravel

小樊
49
2026-08-18 13:42:50
栏目: 智能运维

CentOS 上调试 Laravel,通常从 环境、日志、错误显示、调试工具 四个方面入手。下面给你一套常用且实用的调试流程,适合生产/测试环境。


一、先确认 Laravel 运行环境

php -v
composer -V

Laravel 对 PHP 版本有要求(如 Laravel 10 需要 PHP ≥ 8.1)。


二、开启 Laravel 错误显示(最关键)

1️⃣ 修改 .env

APP_ENV=local
APP_DEBUG=true

⚠️ 生产环境不要开 APP_DEBUG=true


2️⃣ 清缓存(非常重要)

php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear

三、查看 Laravel 日志(最常用)

tail -f storage/logs/laravel.log

常见错误:

  • SQL 错误
  • 路由不存在
  • 权限问题
  • 类找不到

四、CentOS 常见权限问题(90% 的坑)

1️⃣ storage / bootstrap 权限

chown -R nginx:nginx /var/www/your_project
# 或
chown -R apache:apache /var/www/your_project

chmod -R 755 storage
chmod -R 755 bootstrap/cache

nginx 用 nginx apache 用 apache


五、PHP 错误日志(CentOS 重点)

1️⃣ 查看 php-fpm 日志

tail -f /var/log/php-fpm/error.log

或:

journalctl -u php-fpm -f

2️⃣ php.ini 配置

php --ini

确认:

display_errors = On
log_errors = On
error_reporting = E_ALL

重启 PHP:

systemctl restart php-fpm

六、Web 服务器调试

✅ Nginx 常见错误

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

Nginx + PHP 配置示例:

location ~ \.php$ {
    fastcgi_pass   unix:/run/php-fpm/www.sock;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

七、数据库调试(CentOS + Laravel)

1️⃣ 测试数据库连接

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

2️⃣ 查看 SQL 日志

DB_LOG=true

或代码:

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

八、使用 Laravel 调试工具(强烈推荐)

✅ Laravel Debugbar

composer require barryvdh/laravel-debugbar --dev
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

九、命令行调试(Artisan)

php artisan route:list
php artisan config:show
php artisan migrate --pretend

十、快速排查清单(CentOS + Laravel)

✅ 是否 APP_DEBUG=true
✅ 是否清缓存
storage/logs/laravel.log
✅ PHP / Nginx / php-fpm 日志
✅ 文件权限
✅ SELinux(下面重点)


十一、CentOS 特有坑:SELinux(很多人忽略)

如果权限没问题但仍报错:

getenforce

如果是 Enforcing

临时关闭测试:

setenforce 0

永久关闭(不推荐生产):

vi /etc/selinux/config
SELINUX=disabled

或正确放行:

setsebool -P httpd_read_user_content 1
setsebool -P httpd_unified 1

十二、如果你愿意,我可以继续帮你

你可以直接贴出:

  • ❌ 报错信息
  • ❌ Laravel 版本
  • ❌ CentOS 版本
  • ❌ Nginx / Apache
  • php-fpm 日志内容

我可以 精准定位问题,一步一步带你修

0