无聊。。。谈谈nexusphp的pt种子错误的问题
当时最初搭建pt站时,遇到很多问题,经过推敲,到处求解(也是因此来到本站的),总结下当时遇到的种子的问题。列三个。1、编码错误。
问题: 在站上成功下载后,提示“编码无效”。
解决:通过比对正常种子文件和问题种子,发现问题种子前面多了个“EF BB BF”,系编码错误。
分析了下download.php和functions.php相关内容,发现nexusphp真的没问题。
后来注意到自己为了支持中文字符,把functions.php错误地转为了UTF-8编码方式,导致了此错误,后转为UTF-8 不含BOM 格式后解决。
经验:以后编辑nexusphp代码后最好不要改变原来的ANSI编码,需要支持中文时刻转为UTF-8不含BOM(当然,全部转为UTF-8不含BOM也不会有什么问题。),但一定不要转为UTF-8或其他编码。不然不光种子出错,还有可能出现其他问题。
2、种子识别BUG(压缩包内附样种 中二病でも恋がしたい.torrent)
问题: 刚制作的种子上传PT后提示“你在搞什么鬼?你上传的不是Bencode文件!”
解决:这是nexusphp没能识别出种子文件。找到了相关文件,functions.php、benc.php、takeupload.php,鼓捣了半天无果。。。(当时看不懂正则表达式)
后网上找到另外一个nexusphp的优化版本,里面对比发现了不同之处。
即:
打开 \include\benc.php,搜索/^i(\d+)e/,替换为/^i(-{0,1}\d+)e/
经测试,好像是制作种子区块设置过大导致nexusphp不能识别,不过修改后就没问题了。
经验: 来源:http://bbs.itzmx.com/forum.php?mod=viewthread&tid=4271&fromuid=1
3、上传种子后500错误。(压缩包内附样种 ソードアート・オンライン.torrent)
问题: 上传种子后,停在takeupload.php,500错误。
解决:经过n久的尝试,我将takeupload.php中的 $dict=bdec(benc($dict)); 注释掉了,算是权宜之计,但问题解决了。
经验:来自实践。当时大胆地猜想尝试,最终解决了,不过不太记得当时是怎么想的。至于副作用暂时没发现,但确实存在隐患。
总结:上述问题中,第一个,算是新手可能会犯的错误。二三两个问题却是普遍存在于pt站中。当时测试的结果是部分主流的pt站也不例外。
感兴趣的可以用附件中的样种测试自己的pt站是否存在这些问题。。。
欢迎交流学习,不对之处请直言斧正。
附件:
http://pan.baidu.com/share/link?shareid=2024331729&uk=940316783 不错 学习了。。。 PT站源码主程序,nexusphp.v1.5.beta5.20130110更新(小樱自行更新,官方源码修改)
http://bbs.itzmx.com/forum.php?mod=viewthread&tid=4271&fromuid=1
(出处: ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com)
你在说的是不是这个 小樱 发表于 2013/9/23 15:48
PT站源码主程序,nexusphp.v1.5.beta5.20130110更新(小樱自行更新,官方源码修改)
http://bbs.itzmx.com ...
好像是的。。。原来大大早已解决这个问题。惭愧~ liuda 发表于 2013/9/23 16:27
好像是的。。。原来大大早已解决这个问题。惭愧~
闲着玩玩罢了。。。
页:
[1]