环境:

$pageNum = 8;
for ($i = 1; $i < $pageNum; $i++) {
$html = new simple_html_dom();
$host = 'http://xxxxxx';
$url = sprintf ($this->urlFormat, $i);
$html->load_file($url);
echo "<br>" . $i . "start1 ".$url."<br>";
$mainHtml = $html->find('div[class=main]', 0);
...

...

$html->clear();
unset($html);

}

循环出现错误

Notice: iconv(): Detected an illegal character in input string in D:\Workspace\PHP\admin_data\simple_html_dom.php on line 790

然后下一个循环就会中断停止,不再正常运行,$html->load_file($url);将失败,之后如下提示

Fatal error: Call to a member function find() on a non-object in D:\Workspace\PHP\admin_data\simple_html_dom.php on line 1113

完了后面解析我无法再完成了。

谷粉+百度,关于iconv修改的尝试都是老样子。

之后已经想到可能是$html没有释放的问题,又搜了一会,使用将$html = new simple_html_dom();替换为如下代码,解决

$html = new simple_html_dom();    //干掉不需要
$host = 'http://xxxxxx';
$url = sprintf ($this->urlFormat, $i);
$html = file_get_html($url);

其他照旧,终于iconv()即使失败,也能继续解析了。也就是可下这个结论如果在解析中途出错,$html = new simple_html_dom(); 这中方式可能无法释放。

php simple_html_dom 一个iconv错误引起解析中断的问题,貌似内存溢出的更多相关文章

  1. 错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行

    java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at ja ...

  2. java中三种常见内存溢出错误的处理方法

    更多 10   相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的 ...

  3. java中三种常见内存溢出错误的处理方法(good)

    相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决j ...

  4. [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found

    google的android自带的apps写的是相当牛逼的,将其导入到eclipse中方便我们学习扩展.可惜关于导入的资料太少了,尤其是4.1之后的gallery和camera合二为一了.之前导4.0 ...

  5. 自己动手实现一个简单的JSON解析器

    1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 ...

  6. Dubbo 泛化调用的参数解析问题及一个强大的参数解析工具 PojoUtils

    排查了3个多小时,因为一个简单的错误,发现一个强大的参数解析工具,记录一下. 背景 Nodejs 通过 tether 调用 Java Dubbo 服务.请求类的某个参数对象 EsCondition 有 ...

  7. WDCP从php5.2升级到5.3的办法,以及升级过程中iconv错误的处理

    从wdcp官方论坛我们可以找到一个询问升级的帖子,然后管理员在回复中也提供了升级方法: cd /tmp wget -c http://dl.wdlinux.cn:5180/soft/php-5.3.1 ...

  8. C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题

    C#字符串数组排序   //排序只带字符的数组,不带数字的 private   string[]   aa   ={ "a ", "c ", "b & ...

  9. Tomjson - 一个"短小精悍"的 json 解析库

    Tomjson,一个"短小精悍"的 json 解析库,tomjson使用Java语言编写,主要作用是把Java对象(JavaBean)序列化为json格式字符串,将json格式字符 ...

随机推荐

  1. iOS7 UIKit动力学-碰撞特性UICollisionBehavior 下

    上文讲到了为window加一个边界.实现碰撞的效果,接下来我们将提到一个托付方法: - (void)collisionBehavior:(UICollisionBehavior *)behavior ...

  2. SNMP协议具体解释

    简单网络管理协议(SNMP)是TCP/IP协议簇的一个应用层协议.在1988年被制定,并被Internet体系结构委员会(IAB)採纳作为一个短期的网络管理解决方式:因为SNMP的简单性,在Inter ...

  3. 使用Web Application Stress Tool 进行压力测试

    1.在测试客户端机器上启动Web Application Stress Tool,在弹出的“建立新脚本”对话框中选择“Record”按钮: 2.在“Record”参数设置第一步中,所有的checkbo ...

  4. jquery 设置asp:dropdownlist 选中项

    $("#ddlPro").find('option').each(function () { this.selected = (this.text == dlprom); });

  5. SQL Common Sense 碎片一

    1.关于时间 SELECT GETDATE() SELECT DATEPART(d,'2014-05-20 14:20:55.347') SELECT DATEDIFF(d,'2014-05-20 1 ...

  6. asp.net mvc ajax提交例子

    @{ Layout = null; } <script src="../../Scripts/jquery-1.10.2.min.js" type="text/ja ...

  7. Struts2 实现文件上传

    单个文件上传 关于如何创建Struts2项目:Struts2 初体验. 一.创建jsp页面: 注意!要上传文件,表单必须添加 enctype 属性,如下:  enctype="multipa ...

  8. 检索n以内所有素数

    #include <iostream>#include <cmath> const int N=500000;//数组大小 using namespace std; int m ...

  9. php 注释

    @access 使用范围:class,function,var,define,module 该标记用于指明关键字的存取权限:private.public或proteced @author 指明作者 @ ...

  10. mysql 蠕虫复制

    INSERT into user_info(version,create_user_count,create_pc_count) select version,create_user_count,cr ...