最近、AMFPHP を PHP5.4 バージョンにアップグレードしたときに、互換性の問題が発生しました。解決プロセスは次のように記録されます。
1. Ereg クラス関連関数は preg 関連関数に変更されます。
2. エラー ログ出力プロンプトを通じて、静的に呼び出されるすべてのクラス関数に static キーワードを追加します。
3. PHP 構成ファイルを変更し、デフォルトのタイムゾーンを data.timezone に追加します。
エラーをログに出力してみてください。通常は非互換性の問題が原因です。エラー ログが出力されない場合は、Charles Proxy などのソフトウェアを使用して HTTP 送信の内容を表示できます。
NetConnection.Call.BadVersion 問題は、主にクライアントに送信されるバイトコードの問題によって発生します。
1. エラーが発生しました。これは、PHP ログまたは Charles ツール、Chrome の組み込みデバッグなどを通じて表示して、HTTP コンテンツにエラー メッセージが表示されるかどうかを確認できます。
2. 不明な出力があります。上記で問題がない場合は、AMFPHP に関連する各ファイルが出力されているかどうかを確認します。特殊な例として、UTF-8 でエンコードされたファイルに BOM 識別子が付いている場合があります。これはエラーにはなりませんが、AMFPHP CLIent のデコードに影響します。