PHP编程:PHP毛病提醒解析
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。先说PHP的毛病信息,来自PHP100服装论坛
PHP的毛病信息由一下几局部组成
{毛病类型}: {毛病缘由} in {毛病文件} on {毛病行数}
申明了在哪一个文件的哪一行中因何种缘由呈现了何种毛病。
罕见的毛病类型普通有上面几种:
Parse error(解析毛病)普通都陪伴着Syntax errors(句法毛病) ,申明你的法式不合适PHP的语法。
它是级别最高的毛病,全部剧本基本不会被履行。
普通都是由一个表达式短少";" 或各类括号引号不成对引发的。看具体的信息就可以晓得成绩的地点。
普通句法毛病城市给你提醒一个解析器代号,告知你呈现的成绩是在哪里。好比:
Parse error: syntax error, unexpected T_STRING in xxx.php on line 9
T_STRING 是一个解析器代号,望文生义,它代表字符串,良多毛病缘由城市带解析器代号。经由过程它你可以更直接的懂得到毛病的缘由。
unexpected意思长短预期的,换句话说也就是过剩的。
更多解析器代号请参考:http://www.php.net/manual/zh/tokens.php 或php手册 英文版中叫:List of Parser Tokens 中文版中叫:解析器代号列表
下面的毛病的意思是说你的第九行有一个非预期的字符串。
我的代码:
1-7: 略
8 : test(array('a'))
9 : xxx();
10 : >
这个成绩若何处理呢?把第九行的xxx删失落,切实其实合适PHP语法了。
然而那不是我想要的,实践上是我的第8行短少了一个";",处理举措是在第8行开头加分号。
注重:这个例子还申明了一个成绩,毛病呈报说是哪行,成绩纷歧定就非在哪行,也多是它的后面一行或几行酿成的。最典范的例子是某法式提醒失足行数在文件的最初一行,你去看,发明那行除“>”之外没有其余字符,这类情形通常为短少引号招致的。你要往后面找不成对的引号或其余甚么标点。假如你非要抬杠,认准了行号不松口,那就不是php的成绩了。
Fatal Error(致命毛病),仅次于Parsing Error的毛病,履行到产生毛病的行时,剧本会终止运转。
在法式合适PHP语法的基本上,利用了不决义的函数,或require一个不存在的文件,逝世轮回招致法式履行超时,城市招致fatal error。
普通体现为:
Fatal Error: Call to undefined function func() in php100.php on line 某某
就是说在某某行你挪用了一个不决义的func函数,这时候候普通就是看你是不是忘了包括该包括的文件,是不是写错了函数名,是不是写错了文件名。(PHP100.com)
Warning(正告),比致命毛病级别稍低,但法式不会由于剧本毛病而终止。
普通呈现在include一个不存在的文件,或一个法式需求一个参数,然而你没传参数,而且你也没指定参数的默许值。
Warning视情形可以免呈现,其实没法防止,可以加@强行屏障。
Notice(告诉),级别最低,普通可以疏忽,不会影响到剧本的运转。多半产生在变量或数组下标不决义的情形。
注重:多半notice都可疏忽,然而多数的notice也能够会反应出对照严重的成绩。
好比 Notice: Undefined variable: sql in xxx.php on line xx
你看到有个变量"sql"不决义,这便可能很风险了,在register_globals=on的情形下,没准这个毛病直接就成了他人操作数据库的后门。
另外还有一些其余类型的毛病,平常不罕见,我就不多说了。
总结
综上所述,PHP的毛病提醒会告知咱们良多工作,为咱们查找毛病供应了极大的便利。好好使用它,会大大的进步咱们的任务效力和任务质量。
不外,它带来优点的同时,也能够会泄漏办事器的敏感信息,轻易让进击者发明办事器的破绽。
php开辟情况必定要翻开全体毛病提醒,翻开毛病显示。最大限制的削减变乱的产生。
临盆情况万万要把毛病显示封闭,改用日记来纪录毛病。别给有心人以无隙可乘。
PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能: 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 做为1门年轻的语言,php一直很努力。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会) 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 基础有没有对学习php没有太大区别,关键是兴趣。 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
页:
[1]
2