Вчера я перенес наши данные MySQL с одного RDS на другой, с той лишь разницей, что на тех, на которые я перенес, включена функция шифрования new-ish AWS.
Все хорошо, за исключением того, что после миграции у нас есть постоянный ‘\ n’ в нашем буфере вывода. Чтобы сделать вещи более странными, это верно как для нашего «старого» кода, так и для нашего кода Laravel, которые не используют одни и те же файлы / шаблоны.
Это нарушило многие наши функциональные возможности, и нам пришлось использовать бинтовый подход, заключающийся в очистке буфера перед выводом значений или отправкой запросов диапазона на сервер для таких вещей, как потоковое видео.
Единственными изменениями, которые произошли на наших серверах приложений (где живут PHP / Apache), была строка подключения к RDS. Все остальное осталось прежним, мы даже не меняли код.
Все это говорит, кто-нибудь еще сталкивался с этим? У нас нет файла auto_prepend_file, и наше приложение работает в этой среде без проблем уже более года. Единственным изменением было буквальное указание на другую базу данных, которая зашифрована в состоянии покоя.
Любое понимание будет оценено.
Оказывается, это была моя вина! В нашем глобальном конфигурационном файле (который включает закрывающий тег PHP) вчера появилась новая строка после заключительного тега. Этот файл включен глобально, поэтому мы видели проблему повсюду.
.... your code
?>
(new line here resulting in the end of the world)
Проблема решена, всего можно было избежать не используя конечный тег PHP. Надеюсь, это поможет кому-то еще в будущем!
Других решений пока нет …