【发布时间】:2012-03-30 18:52:06
【问题描述】:
我编写 curl php 脚本,该脚本的工作是在成功登录后从一个网站下载 csv 文件。当我在浏览器中启动它时它工作正常,但当我将它放在 cron 作业列表中时它会失败。我曾经在日志中看到内存耗尽错误,所以我想我的服务器给我的 cron 内存更少。
我该如何解决这个问题?
你可以看到部分代码,它正在做下载工作,这很正常:
<?php
...
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postfields);
$fp = fopen("data.csv", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec ($ch);
curl_close ($ch);
fclose($fp);
只想再说一遍,这是代码的一部分,在浏览器中一切正常,在 cron 作业中失败。
【问题讨论】:
-
crontab条目是什么(假设它是 Linux 操作系统)? -
0 */1 * * * cd /home7/philbike/public_html/atlanticauto/assets/components/cronmanager/ && php cron.php ,但这是执行 sn-p 的 modx 扩展。
-
只是一个想法 - 有不同的 php.ini。从命令行执行是不同的(例如 cronjobs)。
标签: php curl download cron modx