イントロダクション#
他のサービスは PHP8 + を必要としますが、現在の WordPress と Discuz!のバージョンはサポートされていませんので、アップグレードが必要です。
公式#
修正#
Discuz! ディレクトリをサーバーのルートディレクトリとして使用する場合:
- サイトを閉じるために、バックエンド管理 /uc_server/admin.php でサイトを閉じる必要があります。
- UC 通信が正常であることは、Discuz<->UC の両方向が正常であることを指します。両側で確認する必要があります。
UC_KEY
について:/uc_server/data/config.inc.php と /config/config_ucenter.php の値は異なる場合があります。既存の値に従ってください。公式ガイドの要件に従って同じに変更しないでください。そうしないと、Discuz->UC の失敗が発生します。UC_DBTABLEPRE
について:/uc_server/data/config.inc.php と /config/config_ucenter.php の値は異なります。Discuz!の config にはdbName
の接頭辞が含まれている必要があります。- アップグレード中の問題の大部分は、これらの 2 つの設定ファイルが正しくないために発生します。
- サイトを閉じていない場合、Discuz のアップグレードは envcheck の次のステップで停止します。1 回リフレッシュすれば問題ありません。
- アップグレードが完了すると、元の創設者はフォーラムにログインできますが、管理バックエンドにアクセスできません。ユーザーグループの問題であれば、データベースを直接変更できます。
update [table]common_member set groupid=1 where uid=%d;
- アップグレードが完了したら、キャッシュを更新する必要があります。そうしないと、スタイルが失われます。
- アップグレードが完了した後、ユーザーはアバターを更新できません。これも UC 通信の問題です。
- Discuz!の PHP8 互換性は完全ではありません。特に
$_G['settings']['bannedmessages']
プロパティです。このプロパティは、admincp で文字列の連結が使用されるため、ビット演算で関連するフラグを検証する際に、$_G['settings']['bannedmessages'] & 1
のような文がUncaught TypeError: Unsupported operand types: string & intエラーを引き起こします。関連する文をintval($_G['settings']['bannedmessages']) & 1
に変更する必要があります。