CodeIgniterで構築されたアプリケーション用の比較的大きなPHPコードベース(数千行)があります。パフォーマンスの問題を追跡し、統計などを生成できるようにするために、開発サーバーはXhprofを実行します。スクリプトが実際にロギング部分に来る場合、これは正常に機能します。
しかし、私は今、スクリプトがちょうどタイムアウトする状況になりました。開発サーバーでは、タイムアウト(「サーバーが見つかりません」)エラーが発生するだけで、Apacheプロセスがクラッシュすることもあります。Xhprofファイルは生成されず、CodeIgniterロギングシステムは何も生成しません。エラー報告は有効です。
ライブ環境(ライブサーバーのミラー)では、アプリケーションは実際にエラーを生成します。
致命的なエラー:493行目の/home/www/application/system/database/drivers/mysql/mysql_driver.phpで許可された33554432バイトのメモリサイズが使い果たされました(261900バイトを割り当てようとしました)
これと、エラーを再現する方法の手がかりがあることで、解決策を探すための手がかりが得られます。しかし、それは時間のかかる仕事です。
実際の「メモリリーク」が発生している場所を追跡できる方法を探しています。行ごとに手動でデバッグする代わりに。どんな提案でも大歓迎です。
更新:サーバーのメモリが少ないことは問題ではありません。より多くのメモリを備えた開発サーバーでは、同じ問題が発生します。問題は無限ループで、サーバーが処理できるよりも多くのメモリを割り当てていました。問題は残っています:これらのエラーをどのように迅速に追跡することができますか?