php中出现空白页的原因及解决方法汇总


Posted in PHP onJuly 08, 2014

很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的:

1、逻辑错误

逻辑错误是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的。为什么呢?也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本。在这里,我告诉大家一个比较好的调试方法,就是使用注释符“/* */”,注释掉一些代码,观察运行情况,以此来逐个排除错误,最终找到错误代码的位置。这种情况下要想完全排除逻辑错误,没有耐心是不行的,所以要静下心来,不要着急。

2、行为未定义

看下面的代码:

<?php
$action = $_GET['id'];
if($action == '')
$action = 1;
if($action == 1) {
echo("/$action's value is 1");
} else if($action == 2) {
echo("/$action's value is 2");
}
?>

这段代码大家看得很明白,就是如果$action变量为空时将它设为1,然后判断$action变量的值而做出不同的事件。当然,假如$action既不等于1,也不等于2的时候,PHP会做什么呢?答案是——什么也不会做,所以就会产生了空白的页面。知道了原因,解决就容易了。关于这个问题的解决,很简单,在 if模块后加一个else就可以了,打印一些信息即可。

3、语法错误

大家可能会问了,如果出现语法错误,一般会有错误提示的,怎么会空白呢?当然,这只是一些个别现象,在某些主页空间中,如果你写得PHP有语法错误,它也不会有任何提示。解决也很容易,在上传文件之前在本地测试,找出错误的代码进行改正。

4、滥用错误屏蔽符@

错误抑制符“@”常常用于可能会发生错误的地方,但是抑制符使用过多或使用得不是时候,也可能导致空白也免得出现,来看看下面两个PHP脚本:

test1.php:

<?php
@include("test2.php");
echo($var);
?>

test2.php:

<?php
$var = "Hi" //这行代码有错误,没有分号
$var1 = "Hello" //同上
?>

运行test1看看,结果就产生了空白的页面。纠正也很简单,可以去掉include函数前面的抑制符,或者更正test2.php文件中的错误。

PHP 相关文章推荐
php adodb连接mssql解决乱码问题
Jun 12 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
jquery获取多个checkbox的值异步提交给php的方法
Jun 24 PHP
PHP图形操作之Jpgraph学习笔记
Dec 25 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
php之Smarty模板使用方法示例详解
Jul 08 #PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 #PHP
Thinkphp的volist标签嵌套循环使用教程
Jul 08 #PHP
PHP实现生成透明背景的PNG缩略图函数分享
Jul 08 #PHP
PHP的error_reporting错误级别变量对照表
Jul 08 #PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 #PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 #PHP
You might like
用 php 编写的日历
2006/10/09 PHP
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
PHP数组函数知识汇总
2016/05/12 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
基于jquery的tab切换 js原理
2010/04/01 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python shelve模块实现解析
2019/08/28 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
python 操作excel表格的方法
2020/12/05 Python
英国蛋糕装饰用品一站式商店:Craft Company
2019/03/18 全球购物
银行自荐信范文
2013/10/07 职场文书
护理专业个人求职简历的自我评价
2013/10/13 职场文书
建材业务员岗位职责
2013/12/08 职场文书
幼儿园秋游感想
2014/03/12 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
义和团口号
2014/06/17 职场文书
领导干部对照检查材料
2014/08/24 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python