Я не имею опыта в PHP, и у меня возникли проблемы с error_log
больших массивов с помощью error_log
и print_r
.
Мне сказали, чтобы изменить log_errors_max_len
файла php.ini, и я пошел дальше и сделал <?php phpinfo(); ?>
<?php phpinfo(); ?>
чтобы узнать, откуда был загружен файл php.ini. Затем я изменил его на log_errors_max_len = 0
но все же вывод усечен.
Я также использую Laravel.
У кого-нибудь есть идея, почему это не работает? (Я уже перезапустил apache 🙂
Главное здесь, что log_errors_max_len
кажется довольно бесполезным в этой ситуации. Руководство PHP гласит, что:
Эта длина применяется к зарегистрированным ошибкам, отображаемым ошибкам и также к $ php_errormsg, но не к явным вызовам таких функций, как error_log ()
Единственным решением, которое я смог найти до сих пор, является использование:
error_log("Long error message...", 3, CUSTOM_LOG_FILE);
Второй параметр error_log()
позволяет перенаправить сообщение в пользовательский файл. Таким образом, последним параметром должен быть путь к пользовательскому файлу журнала.
Таким образом, я получаю полное сообщение об ошибке и, что может быть более важным для кого-то, символы ASCII явно читаемы (не уверен, хотя, может быть, это плохо, но когда я регистрирую их со стандартным файлом журнала, я получаю такие вещи, как \xd0\xbf
).
Убедитесь, что вы выбрали конфигурацию в верхней части страницы.
<?php ini_set("log_errors_max_len", 0); ?>
См. Также этот вопрос . Может, это проблема?