我有一个Web应用程序,它有一个共享的config.php文件。在此文件中,我包含一个收集错误消息的函数(使用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访问权限。
谢谢,亚当
答案 0 :(得分:1)
root@deathstar:~# su nobody
$ id
uid=65534(nobody) gid=65534(nogroup) Gruppen=65534(nogroup)
你不需要id。用户名就够了,如果你不想硬编码,我建议你: