CRON作业和php脚本的问题

CRON作业和php脚本的问题,php,linux,cron,Php,Linux,Cron,我有一个php脚本,它获取RSS提要并解析提要并生成二级提要。当我在命令行上运行脚本时,它运行得很好: sudo /usr/bin/php -f myscript.php > outputfile.xml & 在我的crontab中有: */30 * * * * nice /usr/bin/php -f /path/to/myscript.php > /path/to/outputfile.xml & 从命令行运行时,输出文件通过了rss验证,但当我将脚本作为CR

我有一个php脚本,它获取RSS提要并解析提要并生成二级提要。当我在命令行上运行脚本时,它运行得很好:

sudo /usr/bin/php -f myscript.php > outputfile.xml &
在我的crontab中有:

*/30 * * * * nice /usr/bin/php -f /path/to/myscript.php > /path/to/outputfile.xml &
从命令行运行时,输出文件通过了rss验证,但当我将脚本作为CRON作业运行时,它不会运行到完成。它在中间停止并产生不完整的RSS馈送。

脚本的基本算法

获取rss源

使用simplePie解析rss提要

foreach提要项

打开链接元素

获取一个img标签地址

完成创建提要

在CRON执行期间,脚本在for-each循环中的open-link元素上失败。这是使用PHP中的simple_html_dom对象从rss项目文章中获取图像标记


不明白为什么使用CRON它不起作用。

意味着获取rss源并将其下载到文件中?当作业从命令行运行时,它将作为执行命令的用户运行。当作业从/etc/crontab运行时,它将以root用户身份运行,除非您将su分配给其他用户。作业是否作为不同的用户运行?如果是的话,我会看看权限。如果我对用户的直觉是正确的,这个链接将有帮助-@hek2mgl谢谢你的澄清。我已经更新了我的帖子。在这两个例子中,我都使用root用户运行了脚本。我从命令行使用sudo,然后crontab使用root用户。我会更新帖子。