Сообщение error_log усечено при использовании print_r

Я не имею опыта в PHP, и я использую:

error_log("big array:" . print_r($bigArray, true)); 

чтобы посмотреть, что находится внутри большого массива, но похоже, что выход отключен, прежде чем я доберусь до интересного материала на выходе:

 ... [4] => Array ( [id] => 100039235 [start] => 11:00 [end] => 19:00 [punches] => Array ( [0] => Array ( [id] => 6319 [comment] => 

Ожидается ли это? Существуют ли другие способы или обходные пути для получения большего количества массива?

Если вы проверите параметры ошибки INI в PHP, вы заметите, что есть опция log_errors_max_len :

Установите максимальную длину log_errors в байтах. В error_log добавляется информация об источнике. По умолчанию 1024 и 0 позволяют вообще не применять максимальную длину . Эта длина применяется к зарегистрированным ошибкам, отображаемым ошибкам, а также к $php_errormsg .

Когда используется целое число, значение измеряется в байтах. Также могут использоваться сокращенные обозначения, как описано в этом FAQ.

Следовательно, если вы хотите использовать error_log для вывода этих огромных сообщений, убедитесь, что вы изменили log_errors_max_len на большое число (или 0 для неограниченной длины).

 // Append to the start of your script ini_set('log_errors_max_len', 0); 

Поскольку scrowler упоминает свой error_log, это ограничивает выход.

Ошибка_log будет регистрироваться в syslog по умолчанию и в вашем коде, длина которого ограничена установкой времени выполнения log_errors_max_len и по умолчанию 1024.

Дополнительную информацию об этих функциях и настройках см. Ниже:

http://php.net/manual/en/function.error-log.php http://php.net/manual/en/errorfunc.configuration.php#ini.log-errors-max-len

То, что вы, вероятно, хотите сделать, это просто вызвать print_r ($ bigArray), чтобы он выводил напрямую, или если вы хотите увидеть что-то немного более интересное в браузере

 echo '<pre>' . print_r ($bigArray, TRUE) . '</pre>';