我觉得我很困惑将PHP脚本作为cron作业与使用浏览器访问它之间的区别。当我通过使用Safari命令测试test.php时,它会按预期写入文本文件,生成数据库条目等。当它作为cron作业运行时,它会执行除写入文本文件之外的所有操作。
我已经通过插入以下内容处理它而不是前往PHP解析器: #!的/ usr / bin中/ PHP 在文件的开头。
为什么我的脚本不能通过cron写入我的文本文件,当它通过Safari工作时?
(这是一个直接的fopen,fwrite,fclose位代码,所以揭示它不会让人觉得我没有想到)
答案 0 :(得分:3)
它将是用户权限。虽然apache(或者你正在使用的任何网络服务器)可能有权写入该文件夹,但cron用户却没有 如果你让他们都是同一组的成员或使文件夹世界可写 这应该可以解决你的问题
请记住,世界可写不是一个好的安全措施
答案 1 :(得分:1)
在做fopen之前,尝试使用一些存在的,可写的地方。你永远不知道cron在哪里运行你的东西。