私のDevサーバー、TurnkeyLinuxのDebianSqueezeLAMPボックスで完全に正常に実行されているCakePHP2.2.3アプリケーションがあります。本番サーバーにInMotionホスティングを使用しており、コードをこのサーバーに移動するのは大変なことです。
1つのページでAJAX機能をテストしているときに、非常に役に立たなくなっていました。
致命的なエラー:行0の不明で許可されたメモリサイズ268435456バイトが使い果たされました(389245600バイトを割り当てようとしました)
tl; dr:この問題をデバッグする方法についての提案を探しています
私の最初の行動は、コントローラー関数内のすべてのコードを最小限に抑えることでした。私のコントローラーの1つのindex()アクションには、1行のコードが含まれていますが、それでも、実行ごとに256MBのメモリを超えることができます。
$this->autoRender = false;
上記の点を極端にするために、このエラーを生成しているModel&Controllerのすべての行をコメントアウトしました。まだメモリが不足しています。MySQLデータベース要求を行う他のいくつかのページも、完全にロードされているにもかかわらず、この「メモリ枯渇」エラーを表示します。他のページでは、メモリエラーはより目立たないものであり、実行を完全に妨げます。
メモリ制限を256から512、さらには1024mbに上げてみましたが、これはエラーメッセージ自体を抑制することだけです。ページはルーティング/レンダリングも何もしません。ただ静かに失敗します。
別のSO投稿の提案で、デバッグを2から0に下げてみましたが、これも問題の解決にはなりません。
XDebugが本番サーバーにインストールされていないため、問題を修正するためにWebホストの問題を追跡する方法がわかりません。
私たちが使用しているVPSは、Apache 2.2.23、MySQL 5.3.18、およびCakePHP2.2.3を実行しているCentOS5.8サーバーです。
私たちのウェブホストは、この主題に関するこれ以上の情報を提供できないか、提供しません。彼らは私たちが「ケーキの開発者にこのようなものを見たことがあるかどうか尋ねる」ことを提案しました。これは缶を蹴り飛ばす非常に臆病な方法だと私は感じています。ここSOの誰かが以前にこの問題のようなものを見たことがあり、助けてくれるかもしれないことを願っています。