小皮面板看 PHP 错误日志和 Nginx 访问日志,最终落到两个配置项上:PHP 看 php.ini 里的 log_errors 和 error_log,Nginx 看 nginx.conf(或站点 vhost)里的 access_log 指令——面板界面只是入口,真正的日志文件路径由这两个配置决定,所以先用命令查出路径,再去读文件,是最不会出错的做法。
小皮面板里日志入口在哪里?
结论:小皮面板把站点配置和日志都写在磁盘上,面板内的「文件」管理器就是最通用、最不会找错位置的入口。
操作步骤:登录小皮面板 → 左侧「网站」→ 找到目标站点(比如 www.gj0.com)→ 点「管理」或「设置」,PHP 版本、站点根目录、Nginx 配置文件路径都会在这里列出。记下这个根目录,日志通常就在它附近或面板统一存放的日志目录里。
如果界面上的按钮在不同版本里位置不一样,直接走「文件」功能,按下面两个命令查出来的路径去打开对应文件即可。这种方式对小皮面板的 Linux 版和 Windows 版都适用。
PHP 错误日志的路径怎么确认?
结论:PHP 错误日志路径由 php.ini 的 error_log 决定,用 php -i 一条命令就能查到真实值,不要凭记忆猜目录。
SSH 登录服务器后执行:
php -i | grep error_log
输出会显示类似 error_log => /www/server/php/74/var/log/php_error.log 的内容,这个路径就是当前命令行 PHP 的错误日志位置。注意小皮面板支持多版本 PHP 共存,每个版本有独立的 php.ini 和日志文件,站点用的是哪个版本,就要查哪个版本的 php -i。
确认 php.ini 里这两项是开启状态:
log_errors = On
error_log = /www/server/php/74/var/log/php_error.log
写完错误日志的开关后需要重启对应的 PHP-FPM 才生效。如果 error_log 没配,PHP 的错误会写到 PHP-FPM 的错误日志里,位置在 php-fpm.conf 的 error_log 项,用 grep error_log php-fpm.conf 能查到。
实时看日志用:
tail -f /www/server/php/74/var/log/php_error.log
代码里的 error_log('调试信息') 也会写进同一个文件。
Nginx 访问日志和错误日志怎么查?
结论:Nginx 访问日志看 access_log,错误日志看 error_log,两者的路径都在 Nginx 的配置文件里,用 grep 直接搜出来最快。
先确定 Nginx 主配置在哪:
nginx -t
这条命令会输出 configuration file /path/nginx.conf test is successful,路径就是主配置。然后:
grep -r "access_log" /www/server/nginx/conf/
grep -r "error_log" /www/server/nginx/conf/
站点单独配置的 vhost 文件优先级高于主配置,所以站点日志一般在 vhost 里按域名单独指定,例如 www.gj0.com 的访问日志可能是 /www/server/nginx/logs/www.gj0.com.access.log。找到后:
tail -f /www/server/nginx/logs/www.gj0.com.access.log
tail -n 200 /www/server/nginx/logs/www.gj0.com.error.log
访问日志看的是状态码、耗时、UA、IP,排查 404/500 和爬虫;错误日志看的是 upstream timed out、connect() failed 这类问题,两个文件配合看才能定位。日志时间默认是服务器本地时间,和北京时间可能有偏差,看日志时先 date 确认一次。
日志看不到报错怎么办?
结论:PHP 页面上没有报错、日志里也没有记录,九成是 display_errors 关了而 log_errors 也关着,或者日志文件权限不对写不进去。
按顺序检查三点:一是 php -i | grep display_errors,生产环境通常设为 Off,这是正常的,错误应该走日志;二是确认 log_errors = On,这是让错误进日志的关键开关;三是用 ls -lh 日志路径 看文件归属和权限,PHP-FPM 的运行用户(通常是 www)必须对日志目录有写权限,否则 chown -R www:www 日志目录 修一下。
日志文件会持续增长,建议在面板的「计划任务」里加一条定期切割或清理的任务,避免磁盘被写满——磁盘满会导致 PHP 和 Nginx 同时报错,反而掩盖真正的问题。
把上面几步串起来:面板里定位站点根目录 → php -i 查 PHP 错误日志 → grep access_log 查 Nginx 日志 → tail -f 实时跟踪,再检查 Swith 和写权限,小皮面板下看日志这件事就完全可控了。