7

On a stack trace returned from a PHP application in development, long string arguments to a function are truncated when display on the error page:

Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO "tb...', Array)

How can I expand the query argument so the full text is visible? The server is running PHP 5.3.3.

jschmier
  • 15,458
  • 6
  • 54
  • 72
Eric Pruitt
  • 1,825
  • 3
  • 21
  • 34

2 Answers2

5

Use debug_backtrace instead. It will give you the whole trace and doesn't trim arguments as far as I know.

On a second thought: You might get away with it by using

try {
   ...
} catch (Exception $e)
   var_dump($e->getTrace());
}

instead.

André Hoffmann
  • 3,505
  • 1
  • 25
  • 39
  • Thanks, the var_dump did the trick. I do not think debug_backtrace will work unless I am misunderstanding it; I cannot modify the file where the exception originates. Is there some way to get var_dump to not produce ellipses? I think it is truncating some data I need. ``EDIT:`` The other topic provides an alternative solution that should fix the ellipsis issue. – Eric Pruitt Dec 22 '10 at 20:57
4

Starting with PHP 8.0 it is possible to actually raise the limit at which arguments will be truncated.

You can change the newly introduced php.ini setting zend.exception_string_param_max_len and set it to any value between 0 and 1000000, the default being 15.

This only affects stack traces generated using getTraceAsString() or by casting an exception to a string (e.g., by printing it).

More information is available here or in the corresponding RFC.

Zepporle
  • 413
  • 4
  • 13