【发布时间】:2014-03-06 20:12:33
【问题描述】:
我正在尝试创建一个 cron 作业来下载存储在我们数据库中的队列中的图像文件。
我们使用的所有功能在我们的网络服务器上运行时都能正常工作,但是当我使用以下命令运行 cron 作业时:php index.php cron image_download 我收到 Segmentation Fault 错误。
调试cron作业显示数据传递给get_url_content函数时出现此错误,这里调用该函数:
foreach($urls as $url){
$content = $this->get_url_content($url);
}
功能在这里:
function get_url_content($url){
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
return curl_exec($ch);
}
有没有更好的方法来下载这些文件?不同的方法是否可能不会导致相同的分段错误错误?谢谢!
更新:我正在尝试的各种方法似乎不断导致问题。我看到 cron 作业返回“Segmentation Fault”或“Killed”错误。有人建议我为此考虑使用Iron.io,所以我要检查一下。如果有人对如何最好地管理这个有其他建议,我将不胜感激,谢谢。
【问题讨论】:
-
另外请解释你的命令
php index.php cron image_download,即php index.php arg1 arg2。argv[0]将是index.php,argv[1]将是arg1... 等等。 -
很酷,感谢到目前为止的答案......我的 localhost 配置有些问题,我无法在我的 localhost 上运行 cron 作业,所以我必须在实时服务器环境中测试这些。我还没有这样做,但明天会。
-
是 cron 的问题没有解决,还是 php scipt
php index.php cron image_download本身不起作用? *您使用的所有功能在您的网络服务上运行时如何正常工作*`? -
cron 不起作用,它返回“分段错误”。当我从网络浏览器运行该功能时,它可以工作。
标签: php curl cron segmentation-fault download