我无法找到显示的日志文件,例如"找不到文件"来自cgi脚本。
我知道它可能在/ var / log下,但是全局查找没有产生任何结果,可能该文件只能被root读取?
$ uname -a
Linux boxXXX.bluehost.com 3.12.35.1418668052 #1 SMP Wed Dec 17 20:04:02 CST 2014 x86_64 x86_64 x86_64 GNU/Linux
答案 0 :(得分:0)
日志文件取决于您的配置。例如,使用Debian 8.0下的Apache 2.4,您可以:
$ ls -l /var/log/apache2/error*
-rw-r----- 1 root adm 212 mai 7 19:20 error.log
...
您必须是root用户或在组adm中才能读取该文件 /var/log/apache2/access.log。
如果您正在寻找"字符串以找到"在文件" /var/log/apache2/error.log"中, 你可以这样做:
$ sudo grep "string to find" /var/log/apache2/error.log
答案 1 :(得分:0)
您应该看到来自Web服务器的日志,例如在Debian上使用Apache,您应该查看/ var / log / apache2 / * .log
您可以在/ var / log上以递归方式使用grep
grep "file not found" -R /var/log/*
答案 2 :(得分:0)
由于邮件是在调用apache webserver时生成的,因此将记录cgi脚本写入stderr
(不 stdout
)的任何错误在apache Error Log
中(请参阅:Error Log)要阅读/ grep
/无论错误日志如何,您必须对日志目录和具有足够的读取权限日志文件。
日志文件可以位于多个位置之一。 (通常在/var/log/httpd
或/var/log/apache
,取决于发行版),通常为(Linux中的error_log
或Windows / OS2中的error.log
)。两者都由ErrorLog
中的httpd.conf
指令控制。
如果您对日志具有读取权限,则只需grep 'file not found' /var/log/httpd/error_log
(或设置的正确名称)即可查找条目。如果没有,您将需要sudo
或su
访问权限以root身份读取文件,否则您需要向系统管理员大声抱怨您没有足够的访问权限。如果你已经尝试了以上所有但仍然有困难,请留下评论,我会进一步研究它。
您还可以通过mod_cgi
或等效的方式定制记录cgi错误的格式。请参阅:CGI Debugging