Как отключить PHP, отсекая части длинных аргументов в трассе стека исключений? Иногда такие вещи случаются: #0 /some/path(1): Class_Name->exception_trigger() #1 /some/other/path(5): get_to('/some/long/path/tha...') Как мне получить полный аргумент за все? Ответ 1 Вам придется заменить обработчик исключенных исключений. Пример: function exception_handler($exception) { $i = 0; foreach ($exception->getTrace() as $frame) { echo sprintf("#%d %s(%d): %s(%s)\n", $i++, $frame["file"], $frame["line"], $frame["function"], implode(", ", array_map( function ($e) { return var_export($e, true); }, $frame["args"]))); } } set_exception_handler('exception_handler'); Теперь вы получите что-то вроде: #0 /home/glopes/a.php(21): a('loooooooooooooooooooooooooooooooooong argument') #1 /home/glopes/a.php(24): b() Ответ 2 Если вы используете xdebug, вы можете указать длина и количество переменных, которые он выплевывает.
Ответ 1 Вам придется заменить обработчик исключенных исключений. Пример: function exception_handler($exception) { $i = 0; foreach ($exception->getTrace() as $frame) { echo sprintf("#%d %s(%d): %s(%s)\n", $i++, $frame["file"], $frame["line"], $frame["function"], implode(", ", array_map( function ($e) { return var_export($e, true); }, $frame["args"]))); } } set_exception_handler('exception_handler'); Теперь вы получите что-то вроде: #0 /home/glopes/a.php(21): a('loooooooooooooooooooooooooooooooooong argument') #1 /home/glopes/a.php(24): b()
Ответ 2 Если вы используете xdebug, вы можете указать длина и количество переменных, которые он выплевывает.