4

現在、PHPBB 3.0.10をインストールしていますが、次のエラーが発生しています。

厳格な基準:非静的メソッドutf_normalizer :: nfc()は、1781行目のC:\ xampp \ htdocs \ PHPBB \ include \ utf\utf_tools.phpで静的に呼び出されるべきではありません。

私はPHPBBボードでこれに対する答えを見つけようとしましたが、運がありませんでした。私はPHPのバックグラウンドを少し持っていますが、動的なものからの静的な関数呼び出しを理解していません。PHP v5.4.4、Apache 2.4.2、Xampp 1.8.0のいずれかが関連している場合は、それらを使用しています。これは、リモートサーバーではなく、ローカルホストでも実行しています。

このエラーを引き起こすために、私がしているのはPHPBBをインストールすることだけです。データベース設定と管理者アカウント設定を挿入すると、このエラーが発生し、続行できなくなります。私は拡張機能をインストールしていません(もちろん)。

また、指定されたファイルでnfc関数を見つけることができませんでした。インクルードに含まれるかどうかはわかりませんが。また、すべてのファイル内で「function nfc」(引用符を除く)を検索しましたが、何も見つからなかったため、これを使用できません。厳密な標準:非静的メソッドSTemplate ::assign()を静的に呼び出すことはできません 。私はこの問題が一般的であることを認識しており、多くの人が特定の修正が機能したと主張していますが、以前のバージョンのPHPBB(つまり、1.0.4)であったため、これらの修正を適用できませんでした。

過去にローカルホストにPHPBBをインストールできましたが、現在はインストールできません。現在、PHPBBをインストールしていません。

助けてくれてありがとう。

4

3 に答える 3

13

私はこれが時代遅れであることを知っています、しかし問題を抑制するのではなく

問題の根本でこれを適切に修正したい場合は、

include / utf/utf_tools.phpを開きます

〜line1663に移動します

交換

utf_normalizer::nfkc($text);

$utf_normalizer = new utf_normalizer();
$utf_normalizer->nfkc($text);
unset($utf_normalizer);

なぜこれが適切なリリースで修正されていないのかまだわかりません

于 2014-09-26T19:17:38.243 に答える
6

/ includeフォルダーに移動し、startup.phpを開きます

行〜22で行を変更します

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);

error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);

これはあなたの問題を解決するかもしれません=)。

于 2012-08-22T15:31:55.280 に答える
2

3.0.12に更新した後、今日同様の問題が発生しました。適切な解決策は、これらの関数へのすべての呼び出しを非静的にするのではなく、utf_normalizer.phpのすべての関数を静的にすることだと思います。ところで、これはphpbb3.1.1で行われている方法です

于 2014-11-04T15:12:05.197 に答える