温馨提示×

thinkphp在centos上的错误日志怎么查看

小樊
50
2025-11-19 20:41:51
栏目: 编程语言

查看 ThinkPHP 在 CentOS 的错误日志

一 定位 ThinkPHP 应用日志

  • 默认路径:ThinkPHP 5 的日志位于项目根目录的 runtime/log/,常见文件名包含 .log。进入项目目录后可直接查看:
    • 进入项目:cd /var/www/your-project
    • 实时查看:tail -f runtime/log/*.log
  • 如目录不存在或为空,通常是 runtime 目录不可写 或日志未开启,需检查目录权限与配置。
  • 日志级别与开关(以 ThinkPHP 5 为例,配置文件如 application/config.phpapplication/database.php 中的 log 项):
    • 建议开发环境开启更详细日志,线上仅记录 error
      • 配置示例:
        • 'log' => ['level'=>['error','debug'], 'type'=>'File', 'path'=>'../runtime/log/']
      • 代码中手动记录:
        • use think\Log; Log::record('something wrong', 'error');
    • 修改配置后需确保 runtime 及子目录对 Web 服务运行用户(如 apache 或 nginx) 可写。

二 查看 PHP 与 Web 服务错误日志

  • 先确认 php.ini 中日志路径:
    • 查找 php.ini:find / -name "php.ini" 2>/dev/null
    • 查看 error_log 项:grep -i error_log /path/to/php.ini
    • 若为 stderr,PHP 错误会进入 Web 服务错误日志。
  • 常见日志路径与查看方式:
    • PHP-FPM:/var/log/php-fpm/error.log,查看:tail -f /var/log/php-fpm/error.log
    • Apache:/var/log/httpd/error_log,查看:tail -f /var/log/httpd/error_log
    • Nginx:/var/log/nginx/error.log,查看:tail -f /var/log/nginx/error.log
  • 快速定位 PHP 日志路径的小技巧:
    • 命令行:echo '' | php 2>&1 | grep -i error_log
    • 或临时输出 phpinfo:echo '<?php phpinfo(); ?>' | php 2>&1 | grep -i error_log

三 ThinkPHP 常见错误的快速排查路径

  • 数据库连接失败:
    • 检查扩展:php -m | grep -E 'pdo|mysql|pgsql'
    • 检查数据库服务:systemctl status mysqld(或 postgresql)
    • 核对配置:application/database.php 中的 host、port、user、password、database
    • 检查防火墙:firewall-cmd(或 iptables)放通数据库端口
    • 最后回到项目日志:runtime/log/ 下查找连接相关报错

四 常用命令速查

  • 实时查看应用日志:tail -f /var/www/your-project/runtime/log/*.log
  • 查看 PHP-FPM 日志:tail -n 50 -f /var/log/php-fpm/error.log
  • 查看 Apache 错误日志:tail -f /var/log/httpd/error_log
  • 查看 Nginx 错误日志:tail -f /var/log/nginx/error.log
  • 查找 php.ini:find / -name "php.ini" 2>/dev/null
  • 定位 error_log 设置:grep -i error_log /path/to/php.ini
  • 快速探测 PHP 日志路径:echo '' | php 2>&1 | grep -i error_log

0