我需要运行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作业生成图像但使用浏览器访问时无法生成图像的权限或类似问题。
请帮助我被困住。
答案 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
试试这个解决方案它会起作用,它比点击服务器对你的数据执行后台操作更好
我希望这有帮助