我正在使用 Php lib(Monolog)来创建我的日志。
当我删除我的日志文件并访问我的网站以生成日志时,我看到文件创建到好的日志目录中:
-rw-r--r-- 1 apache apache 0 Nov 21 15:22 portal.log
但它始终是空的(每个请求都应该被记录)...另一方面,每次生成日志时都会更新最后修改日期。
我怀疑是 chmod 问题,为了修复它,我在日志文件上尝试了 chmod 777:
-rwxrwxrwx 1 apache apache 0 Nov 21 15:28 portal.log
但它并不能解决问题,同样的症状......
我是否遗漏了 chmod 配置的某些内容?
答案1
假设您的配置完全正确,如果您确实相信这是一个权限问题,您需要确保所有文件夹portal.log
都是可执行的。
您还可以通过切换到 apache 用户sudo -u apache -s /bin/bash
并运行来测试该文件是否可写touch /path/to/portal.log
。
答案2
因为它可以创建日志文件,所以我不认为问题在于目录权限,并且将权限标志设置为全球可读可写可执行(777)没有什么区别,我也不认为这是文件权限或所有权。
可能是调用库的方式出了错误,导致它认为目前还没有任何内容需要记录?在其他环境中,这种方法对您有用吗?
另外,到现在为止应该记录多少内容?库是否可以缓冲一段时间的输出,而不是在输入时写入每一行?尝试确保大量应该写出来以排除这一点。