我想看看我的PHP代码,看看发生了什么来帮助我纠正一些问题。 PHP 代码用于处理表单中的数据。 我已经尝试过Chrome Logger http://craig.is/writing/chrome-logger 但我无法让它向浏览器系统发送任何消息。
我构建了一个简单的测试用例:
文件铬记录器测试.html
<html>
<body>
<?php include './scripts/ChromeLoggerTest.php';?>
<p>Hi from ChromeLoggerTest.html</p>
</body>
</html>
文件铬记录器测试.php
<?php
include 'ChromePhp.php';
$theDate = date("l jS of F Y h:i:s A");
ChromePhp::log("Hello console using ChromePhp::log from ChromeLoggerTest.php. The date is: $theDate");
ChromePhp::warn("Hello console using ChromePhp::warn from ChromeLoggerTest.php. The date is: $theDate");
echo "<p>Hello Browser from ChromeLoggerTest.php. Welcome to my php file to test Chrome Logger. The date is $theDate </p>";
?>
如果我在浏览器窗口中获得的浏览器地址栏中键入ChromeLoggerTest.html:
警告:无法修改标头信息 - 标头已由/home/d50364/public_html/scripts/ChromePhp.php 第 394 行中的/home/d50364/public_html/ChromeLoggerTest.html:3
发送警告:无法修改标头信息 - 标头已由/home/d50364/public_html/ChromeLoggerTest.html:3) 发送(输出从/home/d50364 public_html//Chrome.phpLoggerTest:3) 在第 394 行来自ChromeLoggerTest.php的Hello Browser。欢迎来到我的php文件来测试Chrome Logger。日期是 2014年11月13日 星期四 12:35:07 下午
来自ChromeLoggerTest的嗨.html
控制台中没有输出。 如果我注释掉 PHP 文件中的 ChromePhp 行,那么错误就会消失,但我在控制台中没有得到任何输出。
如果我在浏览器窗口和浏览器控制台中获得的 brwoser 地址栏中键入脚本/ChromeLoggerTest.php:
浏览器:
来自ChromeLoggerTest.php的Hello Browser。欢迎来到我的php文件来测试Chrome Logger。日期是 2014年11月13日 星期四 12:47:13 下午
浏览器控制台:
你好控制台使用ChromePhp::log从ChromeLoggerTest.php。 日期是: 星期四 13th 十一月 2014 12:47:13 下午使用ChromePhp::warn的Hello console来自ChromeLoggerTest.php。 日期是: 星期四 13th 十一月 2014 12:47:13 下午
阅读 Stackoverflow 有关于使用 ob_start(); 和 ob_flush() 的建议;这些都没有解决我的问题。
还有人认为该问题可能是由文件中的空格引起的。 我已经将它们编辑为一行,但这并没有解决我的问题。
我已经验证了这些文件是在没有BOM的情况下保存的。
一些相关链接:
警告:无法修改标头信息 - 标头已由 ERROR 发送
如何修复PHP中的"标头已发送"错误
https://www.geeklog.net/faqman/index.php?op=view&t=38
使用 Xampp 为 WordPress 设置 ChromePhp
https://wordpress.org/support/topic/error-cannot-modify-header-information-2
https://github.com/ccampbell/chromephp/issues/15
https://github.com/ccampbell/chromephp
感谢您抽出宝贵时间阅读本文。 感激地收到任何帮助。
移动这个:<?php include './scripts/ChromeLoggerTest.php';?>
在你的<html>
之前,因为<html>
new line
和<body>
是输出。