2010-11-22 5 views
0


Ich möchte den Stack-Trace von Zeit zu Zeit in meinem Anwendungsordner protokollieren.
Schreiben an die das Ergebnis der debug_backtrace log(), wird dazu führen, dass: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 

wegen der MVC-Struktur, wie ich die letzten 10 Funktionen erhalten können/Stack nennt.

Dank

Antwort

3

Versuchen Sie, die memory_limit Einstellungen Ihres php.ini zu ändern.

Wenn Sie einige Hosting-Dienste verwenden, und Sie haben keinen Zugriff auf die php.ini, können Sie diese Einstellungen ändern, um eine .htaccess-Datei und die php_value Richtlinie oder ini_set Funktion.

.htaccess Beispiel:

php_value memory_limit 16M 
+1

Ändern der Speichergrenze im Allgemeinen ist eine Frage der Sicherheit, ich möchte nicht, dass zu tun. Danke – fatnjazzy

+1

@fatnjazzy: Ich weiß, aber ich fürchte, Sie können nichts anderes tun. PHP stellt keinen anderen zur Verfügung, um Stack-Trace zu erhalten, abgesehen davon, dass eine Erweiterung wie xdebug verwendet wird. Wenn Sie sich über Sicherheit Gedanken machen, können Sie vielleicht die Client-IP mit $ _SERVER ['REMOTE_ADDR'] überprüfen und das Speicherlimit nur von Ihrer IP-Adresse erhöhen. – RageZ