【发布时间】:2011-04-09 03:41:39
【问题描述】:
我有一个具有共享 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 访问权限。
谢谢,亚当
【问题讨论】:
-
你尝试在apache用户下使用
sudo启动cron任务吗?
标签: php apache permissions chown