0

私はここで本当に奇妙な問題が起こっています。vBulletin3.8.0のインストールを新しいサーバーに移行しようとしています。新しいサーバーの構成は、APC、Apache 2.2.3、MySQL 5.0.84、CentOS5を備えたPHP5.2.11です。すべてのファイルを完全に転送しましたが、エラーは次のとおりです。

Fatal error: Call to undefined function construct_forum_bit() in /var/www/forums/index.php on line 565

そのため、関数construct_forum_bit()がincludes / features_forumlist.phpファイルにあり、index.php内の61行目をから変更したことがわかりました。

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

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

私はその奇妙なことを知っていますが、index.phpページをロードしました。しかし、問題が発生したページは他にもたくさんあるので、次のコマンドを使用して、require_onceをすべて置き換えました。

grep -rl require_once . | xargs sed -i -e 's/require_once/require/'

この修正された多くのページを実行すると、1つの奇妙な問題が残りました。http:// forumsurl / member.php?u = 5441にアクセスしようとすると、機能しますが、http:// forumsurl / member.php?u=337が機能しません。空白のページ/白いページが表示されます。どのユーザーIDで白いページが断続的に表示されますが、機能する場合は壊れることはなく、機能しない場合は常に空白のページが表示されます。

グーグルクロームではそれは言う Error 324 (net::ERR_EMPTY_RESPONSE): Unknown error.

私はすべてのテーブルを修理しようとしましたが、運がありません。

そこで、手動デバッグプロセスを開始し、次のコードに絞り込みました。


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の前に「exit」すると、すべてのステートメントが表示されますが、6回目の反復でループ内で中断します。

誰かがここで私を助けることができますか?ありがとう。

4

2 に答える 2

1

この問題を解決するには、次の設定を試してください。

apc.include_once_override   = off

php.iniで。

于 2012-02-13T01:06:09.077 に答える
0

のすべてのインスタンスを に変更するべきではrequire_onceありrequireません。同じことを行うわけではありません。

vBulletin.com からダウンロードしたクリーン コピーに対してソースを比較します。おそらく、実際のエラーがどこにあるかがわかります。

また、vBulletin のコピーをアップグレードすることを検討する必要があります。3.8.0 がリリースされてからかなり時間が経ちましたが、パッチを適用する必要のある問題がいくつかあります。

于 2010-07-23T12:04:45.860 に答える