昨天我将MySQL数据从一个RDS迁移到另一个RDS,唯一的区别是我迁移的数据启用了AWS的新加密功能。
一切都很顺利除了迁移之外我们在输出缓冲区中有一个持久的'\ n'。为了使事情变得陌生,我们的“遗留”代码以及不共享相同包含文件/模板的Laravel代码都是如此。
这已经破坏了我们的许多功能,我们不得不采用绷带方法清除缓冲区,然后回显输出值或向服务器发送范围请求以进行视频流等。
我们的应用程序服务器(PHP / Apache所在的位置)发生的唯一更改是RDS的连接字符串。其他一切都保持不变,我们甚至没有改变任何代码。
所有这一切,有没有其他人遇到这个?我们没有'auto_prepend_file',我们的应用程序已经在这个环境中运行了一年多的免费问题。唯一的变化是字面上指向一个恰好在休息时加密的不同数据库。
任何见解都将受到赞赏。
答案 0 :(得分:2)
原来这是我的错!我们的全局配置文件(包含一个结束的PHP标记)昨天在结束标记之后引入了一个新行。此文件包含在全球范围内,这就是我们在任何地方都看到这个问题的原因。
.... your code
?>
(new line here resulting in the end of the world)
问题已解决,不使用结束的PHP标记可以避免所有问题。希望这有助于其他人下线!