Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP error log and newline chars

What's the PHP config setting which allows or prevents newlines in debug output from being escaped?

On two different installs (a dev laptop running MAMP/OSX, and a dev server running debian) I see different results in the error logs when debugging.

error_log(print_r(array(1,2,4),1));

On Debian this appears in /var/log/apache2/error.log as

[Thu Jul 30 11:32:34 2009] [error] [client 118.93.246.104] Array\n(\n    [0] => 1\n    [1] => 2\n    [2] => 4\n)\n, referer: http://dev.example.org/

On OSX this appears in /Applications/MAMP/logs/php_error_log as

[30-Jul-2009 11:34:00] Array
(
    [0] => 1
    [1] => 2
    [2] => 4
)

I prefer the MAMP way for debugging (apart from relocating logfiles to the /Applications directory).

Thanks!

like image 636
Chris Burgess Avatar asked Jul 29 '09 23:07

Chris Burgess


1 Answers

Chris, you should be able to change the error_log directive in your php.ini on Debian to point to a file. If this is undefined, it will go through syslog which doesn't support multiple lines.

Details:

error_log function

error_log directive

like image 119
hobodave Avatar answered Sep 20 '22 17:09

hobodave