有人可以向我解释 cron 作业脚本的局限性吗?
题
我想我对将 PHP 脚本作为 cron 作业运行与使用浏览器访问它之间的区别感到困惑。当我使用 Safari 测试 test.php 时,它会按预期写入文本文件,创建数据库条目等。当它作为 cron 作业运行时,它会执行除写入文本文件之外的所有操作。
我已经通过插入处理了它,而不是前往 PHP 解析器:#!/usr/bin/php在文件开始时。
当我的脚本通过 Safari 运行时,为什么它不能通过 cron 写入我的文本文件?
(这是一段直接的 fopen、fwrite、fclose 代码,因此我认为揭示它不会有启发性)
解决方案
这将是用户权限。虽然Apache(或您正在使用的任何Web服务器)可能有权写入该文件夹,但Cron用户不会使他们成为同一组的成员,或者将文件夹世界的worlable置于解决方案,以解决您的问题
请记住,世界可写并不是一个好的安全措施
其他提示
试着做则fopen之前CHDIR一些存在的,可写的地方。你永远不知道在哪里的cron运行你的东西。
不隶属于 StackOverflow