Cron作业没有提供所需的结果,但通过浏览器访问同一文件

时间:2012-04-26 17:20:54

标签: php cron cutycapt

我需要运行php script使用snapshots使用CutyCapt使用crone job生成*/5 * * * * /usr/bin/php -f /path/generate.php,我会从数据库获取网站的地址,然后在生成后删除此记录截图。 我用crone job 它对browser没有用,但是如果我使用php访问同一个文件,它工作正常,如果使用command line中的命令file_get_contents运行此脚本,它也可以正常工作。 然后我刚刚创建了另一个文件并使用crone job访问了网址;将此文件添加到wget它已经工作了好几天但现在这种方法也无效。我不知道发生了什么。我没有改变任何这些文件。 我还尝试*/5 * * * * wget "http://www.mysite.com/generate.php" -O /dev/null命令来访问该URL,但未能获得必要的输出。 我的crontab现在看起来像这样 {{1}}

奇怪的是,crone作业执行正常,它从数据库中获取数据并删除记录,但不更新图像。

是否存在使用crone作业生成图像但使用浏览器访问时无法生成图像的权限或类似问题。

请帮助我被困住。

2 个答案:

答案 0 :(得分:0)

我不知道你的脚本在内部做了什么,但请记住,用户的cron作业不会继承用户环境。因此,如果您的php脚本运行任何shell命令,您可能会遇到PATH问题。

如果从脚本运行shell命令,请尝试在php脚本中设置PATH环境变量,看看是否有帮助。

答案 1 :(得分:0)

此页面上是否有任何用户信誉,例如基本身份验证? 如果是这样,你必须在wget请求中定义用户名和密码,如

wget  --http-user=user --http-password=password "http://url" ?

并通过从php命令行运行yor脚本尝试另一种解决方案 所以你的crontab看起来像

*/5 * * * * /usr/bin/php -f /path/to/generate.php 

试试这个解决方案它会起作用,它比点击服务器对你的数据执行后台操作更好

我希望这有帮助