|
我是旗舰版,用php插件偶然发现这个bug,测试方法1、随便建立一个任务,起始网址随便输入一个,我输的是百度网址;
2、采集内容规则随便留一个标签“标题”,选“自定义固定格式的数据”-“固定字符串”-填入大约32481个英文或者数字字符;
3、插件管理中新建默认的php插件noname1.php,只留echo serialize($LabelArray); 这个主要的即可。任务中选这个php插件;
4、任务中“采集内容规则”中,点“测试”,会报告“您使用的php插件存在语法或其它问题,请检查!”;但是,如果把“标题”中那大约32481减少1000个字符,再点“测试”不会报php插件错。
调试方法:于是我在Interface.php最上面增加了3行调试数据
$t = $argv; //把数组赋给参数$t
$m = serialize($t); //把数组序列化成字符串
file_put_contents('err.txt',strlen($m).$m); //把字符串长度以及字符串原文写入到txt文本文件中
结果:
字符串长度<32680 对
32679<字符串长度<32720 报错
字符串长度>32719 对(备注:启用临时tmp文件存储)
备注:以上长度因为包含了php插件的绝对路径(火车头安装路径)和网址长度,并会根据它们变化,所以标签“标题”中输入的只能是大约32481个字符
我的看法:火车头调用php插件,会传递$argv数组给Interface.php,而这个数组序列化后的长度会导致报告php语法错,请火车头负责开发php插件部分的程序员关注并测试下,谢谢!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?加入会员
x
|