vBulletin 3.8.0和PHP 5.2.11的奇怪问题

vBulletin 3.8.0和PHP 5.2.11的奇怪问题,php,vbulletin,Php,Vbulletin,我有一个很奇怪的问题。我正在尝试将vBulletin 3.8.0的安装迁移到新服务器。新服务器的配置是PHP5.2.11,带有APC、Apache2.2.3、MySQL 5.0.84和CentOS 5。我已经完美地传输了所有文件,我得到的错误是: 致命错误:调用第565行/var/www/forums/index.php中未定义的函数construct_forum_bit() 所以我发现函数construct_forum_bit()位于includes/functions_forumlist.p

我有一个很奇怪的问题。我正在尝试将vBulletin 3.8.0的安装迁移到新服务器。新服务器的配置是PHP5.2.11,带有APC、Apache2.2.3、MySQL 5.0.84和CentOS 5。我已经完美地传输了所有文件,我得到的错误是:

致命错误:调用第565行/var/www/forums/index.php中未定义的函数construct_forum_bit()

所以我发现函数construct_forum_bit()位于includes/functions_forumlist.php文件中,并将index.php中的第61行从

require_once(DIR . '/includes/functions_forumlist.php');

我知道这很奇怪,但它确实加载了index.php页面。但是还有很多其他页面有问题,所以我使用以下命令替换了所有require_一次以require:

grep-rl需要一次xargs sed-i-e's/require_once/require/'

这样做修复了很多页面,给我留下了一个奇怪的问题。当我尝试访问http://forumsurl/member.php时,u=5441可以工作,但http://forumsurl/member.php?u=337不能工作。它显示一个空白页/白页。在什么用户标识将显示白页是间歇性的,但如果它工作,它永远不会中断,如果没有,它总是显示空白页。 谷歌Chrome上说
错误324(net::ERR\u EMPTY\u响应):未知错误。

我试着把所有的桌子都修好了,但运气不好

因此,我启动了手动调试过程,并将其缩小为以下代码,其中出现了中断:


473 foreach ($blocklist AS $blockid => $blockinfo)
474 {
475     $blockobj = $blockfactory->fetch($blockinfo['class']);
476     $block_html = $blockobj->fetch($blockinfo['title'], $blockid, $blockinfo['options'], $vbulletin->userinfo);
477 
478     if (!empty($blockinfo['hook_location']))
479     {
480           $template_hook["$blockinfo[hook_location]"] .= $block_html;
481      }
482      else
483      {
484           $blocks["$blockid"] = $block_html;
485       }
486 }
我将echo语句放在文件的不同行,如果我在上面的foreach之前“退出”,它将显示所有语句,但在第6次迭代时它会在循环内部中断


有人能帮我吗?谢谢。

您不应该将
require\u的所有实例一次更改为
require
,它们不会做相同的事情

将源代码与从vBulletin.com下载的干净副本进行比较。这可能会告诉你真正的错误在哪里


也应该考虑升级你的VBuffin拷贝。3.8.0已经发布了很长一段时间,有几个问题需要修补。

要解决此问题,请尝试设置:

apc.include_once_override   = off

在php.ini中。

感谢您的回复。我知道我需要升级到vBulletin的最新版本,但我正在努力找出问题的根源require'确实使页面正常工作,但在foreach循环的第6次迭代中,它破坏了脚本。因此,我设置了一个LAMP堆栈并安装了PHP5.3.3。令我惊讶的是,它工作正常!虽然我没有检查每一个链接的功能,但大部分都能正常工作。但遗憾的是,我将不得不坚持使用PHP5.2.11,因为我已经有一个大的应用程序在上面运行,但它还没有为5.3.x做好准备。
apc.include_once_override   = off