このPHPバグレポートによると、エラーメッセージは、ifステートメントにクラスをネストし、静的に宣言することによって発生します。
クラスは1か所でしか宣言されていませんが、次の場合に保護しています。
if (!class_exists('myClass', false)) {
class myClass{
(C ++プリプロセッサディレクティブ/条件付きインクルージョンに似た何かをしようとしています。)
これは、複数のコーダーが不適切に含む可能性から失敗を防ぐためでした(require_onceの代わりにrequire)。この時点での私の唯一の他の選択肢は、ifをコメントアウトし、アプリケーションでインクルードを検索して、それらをすべて「require_once」にすることです。
それで、他の誰かがこのエラーに遭遇しましたか?require_onceにすべてのrequiresを変更する以外に回避する方法はありますか?(このソフトウェアは複数のコーダーによって保守されているので、失敗しないようにしたいと思います。)
- このエラーはたまに(ランダムに)発生します。発生した場合は、クラスファイルにスペースを追加/削除し、再保存してエラーを修正する必要があります。
ちなみに、APCをインストールした主な理由は、IE9以下のファイルアップロードの進行状況をサポートするためでした。したがって、これらの部分だけを有効にしておくことができれば、これを引き起こす機能を無効にすることができます。(それが可能かどうかはわかりません。)
更新:ファイルを保存しても効果がないようです。一種の「タイムアウト」があるようです。エラーが発生した場合は、エラーが消えるまでしばらく待つ必要があります。