Mój kawałek internetu
Wczoraj udało mi się wyłożyć kompletnie produkcyjną aplikację klienta. Problemów było kilka, ponieważ serwer produkcyjny jest ustawiony tak, aby najmniejszy błąd z samego PHP nie ujrzał światła dziennego. Gdy dodatkowo nie mamy możliwości zmiany zachowania serwer, a upgrade nawalił i nie ma możliwości łatwego zdebugowania kodu, możemy ratować się takim oto snippetem:
declare ( ticks=1 );
register_tick_function ( function ()
{
file_put_contents ( "trace.log", print_r ( debug_backtrace(), true ) );
});
Oczywiście jeśli istnieje możliwość rekonfiguracji serwera, można użyć xdebug’a itd. jednak myślę, że otrzymanie ostatniego backtrace’a w tak szybki sposób, jest znacznie wygodniejsze i łatwiejsze w implementacji bez jakiejkolwiek ingerencji w źródła aplikacji ( poza plikiem index.php ), czy ustawienia środowiska.
afek
April 30th, 2011 at 10:42
Ale farmazony. ^^