关于PHP的超时--set_time_limit与CURLOPT_TIMEOUT思考
2017-04-20 21:40
585 查看
搞爬虫的时候一两条链接可以正常爬取,但是一到几百条链接的时候总会报错
ErrnoOperation timed out after 30063 milliseconds with 0 out of -1 bytes rec
上网查了一下资料发现是超时报错的问题。于是顺便查了下PHP中的set_time_limit与用curl库时其中CURLOPT_TIMEOUT设置的区别。
set_time_limit() 函数可以设置程序执行时间,如果括号里的参数为0的话,也就是set_time_limit(0);则程序一直执行下去直到程序完全执行完成,而如果在函数里面设置了执行秒数,则时间一到不管程序执行完成与否都会自动停止。
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 20);这个主要是用于接收数据时的超时设置。如果数据未在20秒内接收完毕,则自动断开连接。
在程序中加入curl_setopt($conn[$i], CURLOPT_TIMEOUT, 20);后爬虫正常运行,不会报这个错误了。
参考博客:http://www.cnblogs.com/wainiwann/p/3494391.html
ErrnoOperation timed out after 30063 milliseconds with 0 out of -1 bytes rec
上网查了一下资料发现是超时报错的问题。于是顺便查了下PHP中的set_time_limit与用curl库时其中CURLOPT_TIMEOUT设置的区别。
set_time_limit() 函数可以设置程序执行时间,如果括号里的参数为0的话,也就是set_time_limit(0);则程序一直执行下去直到程序完全执行完成,而如果在函数里面设置了执行秒数,则时间一到不管程序执行完成与否都会自动停止。
curl_setopt($conn[$i], CURLOPT_TIMEOUT, 20);这个主要是用于接收数据时的超时设置。如果数据未在20秒内接收完毕,则自动断开连接。
在程序中加入curl_setopt($conn[$i], CURLOPT_TIMEOUT, 20);后爬虫正常运行,不会报这个错误了。
参考博客:http://www.cnblogs.com/wainiwann/p/3494391.html
相关文章推荐
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- 关于php的set_time_limit和进程结束的问题
- 关于PHP连接处理中set_time_limit()、connection_status()和ignore_user_abort()深入解析
- PHP中set_time_limit
- php中set_time_limit()函数运用
- php中(包括织梦cms)set_time_limit(0)不起作用的解决方法
- php中set_time_limit()函数运用
- php set_time_limit
- php 中的set_time_limit()函数
- PHP中用set_time_limit(0)长连接的实现
- php中设置set_time_limit不起作用的解决方法
- PHP学习:set_time_limit,max_execution_time,sleep
- PHP中用set_time_limit(0)长连接的实现--更新数据库时间限制中断解决方法
- PHP settimelimit0长连接的实现分析
- php页面最大执行时间 set_time_limit函数不起作用
- PHP中curl_setopt参数
- php中set_time_limit()函数运用