【发布时间】:2017-09-10 23:53:56
【问题描述】:
我使用 Hostinger 在我的网站上设置了一个 cron 作业,该作业应该抓取新闻内容并将信息转储到文本文件中。这不是我想要的 cron 输出,而是运行脚本的副产品。
如果我只是浏览它所在的网页,我就会成功。它正确打开文件并将新闻数据写入其中。但是,当它由 cron 作业运行时,我得到了输出
PHP Warning: fopen(../txtdumps/newsdump.txt): failed to open stream: No such file or directory in /home/u189772133/public_html/cronjobs/newsscrape.php on line 12
Unable to open file
我以前从未做过 cron 工作,所以打开并写入一个文件中的文件只是一种不好的做法,或者这只是一个路径问题?
【问题讨论】:
-
可能是权限问题。当您从浏览器调用它时,脚本会以与您的网络服务器(Apache、Nginx 等)相同的用户身份运行(很可能是
www-data)。当通过 cron 运行时,它以拥有 crontab 的用户身份运行(很可能是u189772133给定您的主文件夹名称)。该用户还必须能够写入文件。