您的位置 首页 php

php快速定位问题

错误分析工具:谷歌浏览器

第一步:按快捷键 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 可以百度一下啦!~用了一下挺方便的!

文章来源:智云一二三科技

文章标题:php快速定位问题

文章地址:https://www.zhihuclub.com/152235.shtml

关于作者: 智云科技

热门文章

网站地图