«
PHP空白页面常见原因及解决方法

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  编写PHP,难免会出现错误。其实出现错误也不难解决,最难解决的是出现空白页面。大家想想看,若编写PHP出现错误,可以根据错误的提示来改正,倘若PHP什么也不给你显示,那岂不是让编写者困挠不以?下面,我就把我在编写PHP时总结出来的有关PHP空白页面的解决方法以及产生原因。当然,本人写PHP并不是很高手,所以如果有错误,请不惜指出。</p><p>  1、动作未定义</p><p>  先请大家看一看下面的代码:</p><code><?php<br />$action = $_GET['id'];<br />if($action == '')<br />$action = 1;<br />if($action == 1) {<br />echo("$action's value is 1");<br />} else if($action == 2) {<br />echo("$action's value is 2");<br />}<br />?></code></p><p>  这段代码大家看得很明白,就是如果$action变量为空时将它设为1,然后判断$action变量的值而做出不同的事件。当然,假如$action既不等于1,也不等于2的时候,PHP会做什么呢??――什么也不会做,所以就会产生了空白的页面。知道了原因,解决就容易了。关于这个问题的解决,很简单,在if模块后加一个else就可以了。</p><p>  2、语法错误</p><p>  大家可能会问了,如果出现语法错误,一般会有错误提示的,怎么会空白呢?当然,这只是一些个别现象,在某些主页空间中(比如中国聚网的免费空间),如果你写得PHP有语法错误,它也不会有任何提示。解决也很容易,在上传文件之前在本地测试,找出错误的代码进行改正。</p><p>  3、逻辑错误</p><p>  这个问题是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的。为什么呢?我想,也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本。在这里,我告诉大家一个比较好的调试方法,就是使用注释符“/* */”,注释掉一些代码,观察运行情况。要想完全排除逻辑错误,没有耐心是不行的,所以要静下心来,不要着急。</p><p>  4、滥用错误抑制符</p><p>  错误抑制符“@”常常用于可能会发生错误的地方,但是抑制符使用过多或使用得不是时候,也可能导致空白也免得出现,来看看下面两个PHP脚本吧:</p><p>  test1.php</p><code>以下内容为程序代码:<br /><?php<br />@include("test2.php");<br />echo($var);<br />?></code><p>  test2.php</p><code>以下内容为程序代码:<br /><?php<br />$var = "Hi"   //这行代码有错误,没有分号<br />$var1 = "Hello"   //同上<br />?></code><p>  运行test1看看,结果就产生了空白的页面。纠正也很简单,可以去掉include函数前面的抑制符,或者更正test2.php文件中的错误。</p><p>  其实,产生空白页面的原因可能会是更复杂、更难排除的原因,这里所列出来的只是最有可能出现的,只要认真分析了代码,其实排除错误也是很简单的事情。</p>