错误分析工具:谷歌浏览器
第一步:按快捷键 F12
第二步:查看Console
注释:一般错误信息,均会在此显示!
a. 如果是缺少文件:提示404
b. 如果是文件中的代码错误:Console区域,点击文件,查看错误代码的出现位置!
注释:文件中的内容会在”Source”显示区域中显示,找到”红色叉号”处即可找到出错位置!
此方法,非逻辑性错误均可瞬间解决!
第三步:一定要打开php. ini 中的”错误显示”功能
display_errors = on;
第四步:
今天使用代码生成器生成php代码后,兴致勃勃的运行了一下,结果,呵呵,如下:
PHP Fatal error: Namespace declaration statement has to be the very first statement in the script in F:\KuyouWeb\Application\ Api \Controller\BankCardController.class.php on line 3
这个错误的是由于utf-8 编码 中的 bom 在作怪,具体原因引用自:
下载下该文件:更改下代码格式,改为”无 Bom格式”
详解:
为了识别 Unicode 文件,Microsoft 建议所有的 Unicode 文件应该以 ZERO WIDTH NOBREAK
SPACE(U+FEFF)字符开头。这作为一个“特征符”或“字节顺序标记(byte-order
mark,BOM)”来识别文件中使用的编码和字节顺序。
Linux/ UNIX 并没有使用 BOM,因为它会破坏现有的 ASCII 文件的语法约定。
往往我们开发PHP页面时很少会在linux系统下开发,一般都是使用windows写好页面上传到服务器端(用windows开发,写代码看苍老师两不误吗?)
于是会出现页面头部有莫名其妙的空行。其实这个空行就是这个 Bom引起的。
总的来说,Bom并没有什么作用,主要是用来识别编码用的,而我们使用php开发页面大都使用的是utf8编码,不需要什么识别,何况很少会在windows中部署php应用。虽然IIS7据说大幅度提高了php性能,个人依然不认可在IIS跑php,既然用IIS那何必用php呢
有时我们会发现,以前写好的程序上传到服务器中在本机没问题,结果到了服务器上到处是空行,于是我们需要散掉这些Bom。当然手工删是不现实的,别告诉我您做的页面就几个。
但是我不推荐使用上面网址提供的方法 使用 bom.php 去去除bom,因为如果你忘记删了,就会出现下面网址的情况
推荐一个小工具:批量去除BOM头小工具 by Kvoid 可以百度一下啦!~用了一下挺方便的!
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~