有 fastcgi 的访问日志吗?

有 fastcgi 的访问日志吗?

我正在尝试在 nginx 中设置全局变量location。除了需要 fastcgi 的 PHP 脚本外,现在一切都运行正常。它们正在运行 404。

有没有办法让我看到它访问的确切路径,以便我可以尝试调试一下并找出我做错了什么?

答案1

FastCGI 没有访问日志,因为它不是一个程序,而是一个协议。为了调试 PHP fastcgi 处理程序,我通常会求助于它strace——它通常会向我显示正在尝试访问哪个文件,从那里找出问题所在并不难。Nginx 的请求处理调试日志通常也很有启发性。

使用 strace 实现这一点非常简单 —— 只需 strace PHP FCGI 工作器,并使用 限制自己进行读/写调用-e trace=read,write。使用 增加字符串打印大小-s 4096也是一个好主意,这样您就可以获得整个 FCGI 数据包,而不仅仅是前几个字节。

答案2

另一种方法是在 error_log 指令中启用调试模式,请参阅http://wiki.nginx.org/CoreModule#error_log

错误日志错误.日志调试;

会产生更多有关 nginx 内部发生情况的信息,但不会产生 fastcgi 内部发生情况的信息。

更多详细信息http://wiki.nginx.org/Debugging还。

相关内容