php中出现空白页的原因及解决方法汇总.
很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的:
1、逻辑错误
逻辑错误是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的。很多php教程中均有提及这方面的内容。
为什么呢?也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本。
一个比较好的调试方法,就是使用注释符“/* */”,注释掉一些代码,观察运行情况,以此来逐个排除错误,最终找到错误代码的位置。这种情况下要想完全排除逻辑错误,没有耐心是不行的,所以要静下心来,不要着急。
2、行为未定义
代码:
<?<span>php </span><span>$action</span> = <span>$_GET</span>['id'<span>]; </span><span>if</span>(<span>$action</span> == ''<span>) </span><span>$action</span> = 1<span>; </span><span>if</span>(<span>$action</span> == 1<span>) { </span><span>echo</span>("/<span>$action</span>'s value is 1"<span>); } </span><span>else</span> <span>if</span>(<span>$action</span> == 2<span>) { </span><span>echo</span>("/<span>$action</span>'s value is 2"<span>); } </span><span>//</span><span> www.jbxue.com</span> ?>
如果$action变量为空时将它设为1,然后判断$action变量的值而做出不同的事件。当然,假如$action既不等于1,也不等于2的时候,PHP会做什么呢?答案是——什么也不会做,所以就会产生了空白的页面。知道了原因,解决就容易了。
关于这个问题的解决,很简单,在 if模块后加一个else就可以了,打印一些信息即可。
3、语法错误
如果出现语法错误,一般会有错误提示的,怎么会空白呢?(脚本学堂 www.jbxue.com)
当然,这只是一些个别现象,在某些主页空间中,如果你写得PHP有语法错误,它也不会有任何提示。
解决:
在上传文件之前在本地测试,找出错误的代码进行改正。
4、滥用错误屏蔽符@
错误抑制符“@”常常用于可能会发生错误的地方,但是抑制符使用过多或使用得不是时候,也可能导致空白也免得出现,来看看下面两个PHP脚本:
test1.php:
<?<span>php @</span><span>include</span>("test2.php"<span>); </span><span>echo</span>(<span>$var</span><span>); </span>?>
test2.php:
<?<span>php </span><span>$var</span> = "Hi" <span>//</span><span>这行代码有错误,没有分号</span> <span>$var1</span> = "Hello" <span>//</span><span>同上</span> ?>
运行test1看看,结果就产生了空白的页面。纠正也很简单,可以去掉include函数前面的抑制符,或者更正test2.php文件中的错误。