织梦更新栏目出现500错误的解决办法
前几天采集回来文章数据以后,突然出现更新栏目失败的问题,头疼了两天。遇到的问题很诡异,网上找了很久都没找到解决办法,自己又不会php。到最后没办法还是决定自己一步一步的用代码跟踪找出错的地方。
问题是这样的,原本打算采集回来一堆数据以后存为草稿,然后每天更新审核一篇,刚开始也是这么做的,没一点问题。但是第二天又换了一个地方采集后,发现采集回来的文章存为草稿后,一旦审核,就会出现栏目失败的错误,然而主页和文档本身更新却没问题,唯独栏目更新失败。于是上网,发现出现遇到栏目更新失败的问题的人还真不少,可是一一试过去以后还是不能解决问题。后来就怀疑采集回来的数据有问题,但是到数据库里一比对,没发现有什么不对的地方。接着就进入了死胡同。。没头绪。。。第二天早上又开始找,发现貌似跟文档id有关,只要文档id超过980,会会出现错误,这尼玛。。。难道是id最大只能到980??坑爹呢,别人的数据都是几万条以上,搞笑呢。。。然后接下来一整天就是围绕着id转,转了一天也没转出什么东西来。今天早上又开始跟踪代码,一步一步的找。。。丫的就不信找不到你。。。。终于。。。发现了问题出在一个函数上,在include目录下的arc.listview.class.php的894行左右:
if(isset($row[$k])) { $row[$k] = $this->ChannelUnit->MakeField($k,$row[$k]); }
这里的isset有问题!然后上网搜索php isset函数(用php,却又不懂php是有多苦逼- -),最后将isset改为empty,终于ok了!
终于大功告成,就是不知道会不会有什么后遗症。因为还没完全明白这个地方的整个思路,只能先用着了。