差异linux和windows(xampp)处理错误信息不能修改标题信息 - 已由php发送的标题

问题描述:

如果此问题被认为是重复的,那么我很抱歉。我知道什么警告信息来自但我想知道为什么在XAMPP (php 5.6)这个错误没有显示,但当我部署在Ubuntu它显示出来。我的开发环境是windows,但我必须在linux中部署web。谢谢差异linux和windows(xampp)处理错误信息不能修改标题信息 - 已由php发送的标题

+0

不同之处在于配置。用于显示错误的Linux apache配置与WAMP版本不同。 – Meloman

+0

什么样的配置?配置的具体关键项目? –

+0

查看@ delboy1978uk的回答。或者https://*.com/questions/1053424/how-do-i-get-php-errors-to-display – Meloman

这是关于你的php.ini设置,而不是与环境的操作系统。

如果您在php.ini中有display_errors,则会在您的页面上显示通知,警告,错误等,其级别取决于error_reporting的设置。

为了获得最佳错误记录体验,请将error_reporting设置为-1,关闭display_errors并设置自定义error_log。然后在终端中输入'tail -f/path/to/error_log'。您的通知,警告和错误现在将实时滚动浏览,而不会扭曲网页的显示。

您的错误发生是因为您在标题前发送请求BODY!停止显示错误将停止。

最后,请在文件开始处寻找空格,例如<?php之前的空格。

+0

Windows和Ubuntu都显示相同级别的错误,即使在Windows不显示错误,它应该像ubuntu一样停止,但窗口仍然正常工作。 –

根据开发人员的需求捆绑Xampp和类似的软件包。如果您使用的是全球Web服务器,则设置很可能与保护您的服务器和敏感数据不同。

如果你可以下载linux服务器的php.ini,你可以将它与你的比较。例如你的本地服务器的error_reporting被设置为E_ALL,那么你的linux服务器的ini可能会有所不同。

还可以检查this link最佳pratices

经过一番研究,我发现在php.ini output_buffering=4096设置,如果我把这一关,然后在XAMPP也显示错误,如session_start(): Cannot send session cache limiter..像在Linux,但我不真的很确定实际上output_buffering有什么用处。