2010-11-22 3 views
0


時々、私のアプリケーションフォルダにスタックトレースを記録したいと思います。
は、)debug_backtraceの結果を(ログへの書き込みに発生します:理由はMVC構造のCodeIgniter Stacl Trace

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 11639862 bytes) in /var/www/trunk/api.subdomain.com/libraries/MY_Log.php on line 13 

、どのように私は、最後の10回の関数呼び出し/スタックを得ることができます。

おかげ

答えて

3

はあなたのphp.inimemory_limit設定を変更してください。

あなたには、いくつかのホスティングサービスを使用していて、php.iniのへのアクセス権を持っていない場合、あなたはまだいくつかの.htaccessファイルとphp_valueディレクティブまたはini_set機能を使用して、これらの設定を変更することができます。

.htaccessの例:一般的なメモリ制限を変更

php_value memory_limit 16M 
+1

は、セキュリティ上の問題であり、私はそれをやりたいいけません。ありがとう – fatnjazzy

+1

@fatnjazzy:私は知っているが、私はあなたが他の何かをすることができないのは恐れている。 PHPはxdebugのようないくつかの拡張機能を使い、スタックトレースを取得するために別のものを提供していません。もしあなたがセキュリティに関するコンサートをしているのであれば、$ _SERVER ['REMOTE_ADDR']を使ってクライアントIPをチェックし、あなたのIPアドレスからのみメモリ制限を増やすことができます。 – RageZ