Php 对等方在500秒后重置连接
我在made中运行导入cronjob时遇到了一个奇怪的问题。 它处理一个1.5GB的XML文件,其中包含大约400.000种产品。脚本工作正常,需要几个小时才能完成,但大约500/600秒后,我收到了来自cron deamon的以下电子邮件 PHP警告:文件\u获取\u内容(http://test.nl/admin/cron_index.php?route=module/EZImport&cron):无法打开流:HTTP请求失败!HTTP/1.1500内部服务器错误 在第8行的/home/test.nl/public_html/admin/controller/tool/EZImport_cron.php中 警告: 文件\u获取\u内容(http://test.nl/admin/cron_index.php?route=module/EZImport&cron): 无法打开流:HTTP请求失败!HTTP/1.1500内部 中的服务器错误 /home/test.nl/public_html/admin/controller/tool/EZImport_cron.php 第8行bool(错误) 我的apache错误日志显示: [Fri Nov 02 09:43:39 2012][warn][client 176.9..174](104)对等方重置连接:mod_fcgid:从FastCGI服务器读取数据时出错 [Fri Nov 02 09:43:39 2012][error][client 176.9..174]脚本头过早结束:cron_index.php 这是cronjob调用的cron文件 require_once('../../config.php'); $opts = array('http' => array('timeout' => 36000) ); $context = stream_context_create($opts); $url = HTTP_SERVER."cron_index.php?route=module/cronMod&cron"; $result = file_get_contents($url, false, $context); var_dump($result); die(); 需要一次_('../../config.php'); $opts=array('http'=> 阵列('超时'=>36000) ); $context=stream\u context\u create($opts); $url=HTTP_服务器。“cron_index.php?route=module/cronMod&cron”; $result=file\u get\u contents($url,false,$context); var_dump($结果); 模具(); 我需要通过文件获取内容来运行这个cron 环境: DEBIAN, 敞篷车Php 对等方在500秒后重置连接,php,cron,Php,Cron,我在made中运行导入cronjob时遇到了一个奇怪的问题。 它处理一个1.5GB的XML文件,其中包含大约400.000种产品。脚本工作正常,需要几个小时才能完成,但大约500/600秒后,我收到了来自cron deamon的以下电子邮件 PHP警告:文件\u获取\u内容(http://test.nl/admin/cron_index.php?route=module/EZImport&cron):无法打开流:HTTP请求失败!HTTP/1.1500内部服务器错误 在第8行的/home/tes
webmin(php配置)中的最大执行时间设置为36000秒 尝试在脚本中使用
设置时间限制(0)
,或在php.ini中更改时间限制
处理1.5GB XML文件
呃,这有点傻-你至少需要两次通过才能验证文档的格式是否正确,还有很多坏事情可能发生
webmin(php配置)中的最大执行时间设置为36000秒
为了哪一个目的
您还需要为Web服务器和客户机与服务器之间的链中的所有其他组件配置超时,但是尝试通过HTTP传输1.5Gb文件是愚蠢的-您可能会让它工作-但这不是解决问题的正确方法。将其分解为更易于管理的块。Mod_fcgid(及其apache2模块等效物)确实不适合运行这种长寿命任务。虽然您指定您需要使用您的
set\u time\u limit(0)
添加到索引和通过file\u get调用的文件中,php.ini中的时间限制设置为30秒,因此在webmin中进行的设置推翻了这一点