2010-11-22 31 views
0


Je veux enregistrer la trace de la pile de temps en temps dans mon dossier d'application.
écrit au journal le résultat de debug_backtrace(), va faire: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 

en raison de la structure MVC, comment puis-je obtenir les 10 dernières fonctions appels/pile.

Merci

Répondre

3

Essayez de changer les paramètres de votre memory_limitphp.ini.

Si vous utilisez des services d'hébergement et vous n'avez pas accès à php.ini, vous pouvez toujours modifier ces paramètres à l'aide un certain fichier .htaccess et la directive php_value ou ini_set fonction.

exemple .htaccess:

php_value memory_limit 16M 
+1

Modification de la limite de mémoire en général est un problème de sécurité, je ne veux pas faire ça. Merci – fatnjazzy

+1

@fatnjazzy: Je sais mais j'ai peur que vous ne puissiez rien faire d'autre. PHP n'en fournit pas un autre pour obtenir la trace de la pile, à part en utilisant une extension comme xdebug. Si vous avez un concert sur la sécurité, vous pouvez peut-être vérifier l'adresse IP du client en utilisant $ _SERVER ['REMOTE_ADDR'] et augmenter la limite de mémoire uniquement à partir de votre adresse IP. – RageZ