我有一个具有共享 config.php 文件的 Web 应用程序。在这个文件中,我包含了一个收集错误消息的函数(使用set_error_handler
),然后在脚本执行结束时将错误保存到一个集中的日志文件中(使用register_shutdown_function
)。
日志文件每天创建,格式为Y-m-d.log
. 作为应用程序的一部分,Cron 脚本每 5 分钟运行一次,因此通常是每天第一个错误的原因,因此错误文件是在 cron 用户(即帐户超级用户)下创建的。
当我们的员工进来工作并使用该应用程序时,该脚本在 apache 用户 (99) 下运行。错误记录器无法写入错误文件,因为它由超级用户拥有。
一种可能的解决方案是让 cron 脚本chown
将日志文件设置为 99,以便 apache 用户可以访问它。uid 99 是 apache 托管的公认约定,还是如果我硬编码 99 会导致未来的可移植性问题?
是否有任何其他方法(不诉诸exec
/ sudo
)使我的日志可访问?
更新:我没有对服务器的 shell 访问权限。
谢谢,亚当