php脚本在手动运行时有效,但只能部分用作cron作业(不会将文件写入目录)

时间:2013-12-11 23:29:28

标签: php linux permissions cron

我首先要说一般来说我对linux很新。我所拥有的是我编写的一个php脚本,它从reddit.com上的帖子中获取图像隐藏帖子并将链接添加到数组中,然后将所有图像保存在数组中。当我输入类似:“php cron.php”作为root它运行正常,但每当crontab运行它时脚本只隐藏所有帖子但从不保存图像。对我来说,这听起来像是cron用户的权限问题。我已经搞砸了好几个小时,最近用www-data用户的crontab更改了它:“su -l www-data -c'crontab -e'”但仍然没有雪茄,因为它是一个cron工作我认为它的运行是默默无闻的没有给我任何错误。如果有人能告诉我如何显示这些消息,肯定会有助于调试。感谢。

1 个答案:

答案 0 :(得分:3)

你在你自己下面运行php cron.php,但是cron在不同的用户下工作,即使你试图在www-data下运行它,它仍然是与你自己不同的用户

简单的解决方案:检查哪些权限有php尝试写入的文件夹,将它们设置为0777进行测试,检查cron脚本是否成功

然后你可以有不同的选项,比如 - 将文件夹的所有者设置为cron并设置为0755 或者将cron用户移动到与您相同的组