首页 > 解决方案 > Bugzilla - 主机升级 perl - 浏览/搜索是唯一无法以任何方式更新的功能?

问题描述

bugzilla 安装现在已经很老了(4.0.1),虽然它会是最好的,但升级是一个真正的痛苦,因为我对 Perl 相关的东西很烂。它多年来一直没有问题,并在 12 月停止。检查服务器主机时更改为 Perl 5.16.3。最初它是 5.8.8,即使在 15.10 之后它也能正常工作。

我得到的问题与这个问题非常相似 - Bugzilla:错误没有出现(出现在数据库中,一切似乎都很好) 但这不是模板或字符问题(网站运行良好,没有任何变化)我可以看到并在主机更新 Perl 的同一周发生,所以我 99% 确定它与 Perl 相关。我假设问题出在 buglist.cgi 本身或搜索 pm。任何时候我浏览或搜索产品、组件、分辨率等都会显示“ARRAY 和一个数字。例如产品:ARRAY(0x30090f0) 组件:ARRAY(0x3993420) 分辨率:ARRAY(0x3993378)。

bugzilla 只能在内部访问(但由第三方托管,所以没有管理员)它只允许用户帐户访问搜索和浏览,所以我无法演示这个问题。是否有已知的折旧 Perl 命令?

很想修复,但可能必须安装新版本并导入数据库,上次运行需要几周时间,因此现在希望避免这种情况。

按要求截图

标签: perlbugzilla

解决方案


我有完全相同的问题。经过一番挖掘,这是 Perl 版本的问题。在 Search.pm 中,$params->param("field$chart-$row-$col", shift(@$ref));此行导致了问题。对于 5.8.8,它返回 Array 对象,而对于 5.16.3,它返回 SCALAR。

我的选择是安装 5.8.8 并重新安装兼容的模块。或者,有什么快速的解决方法吗?

更新:

通过文档,发现 4.0.10 版本的 bugzilla 增加了对 Perl 5.16 的支持。从中复制了 CGI.pm 并进行了测试.. bugzilla 正在工作。这是一个糟糕的黑客行为。但是,至少现在我知道升级到 4.0.10 是另一个可行的解决方案,而不是升级 Perl。


推荐阅读