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源代码
Oct 09 PHP
dedecms模版制作使用方法
Apr 03 PHP
基于php iconv函数的使用详解
Jun 09 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
Windows下编译PHP5.4和xdebug全记录
Apr 03 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
php简单压缩css样式示例
Sep 22 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
PHP设计模式之模板方法模式实例浅析
Dec 20 PHP
PHP实现简单的计算器
Aug 28 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jquery操作angularjs对象
2015/06/26 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
详解JavaScript中的六种错误类型
2017/09/21 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
Python矩阵常见运算操作实例总结
2017/09/29 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python换行与不换行的输出实例
2020/02/19 Python
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
大学同学聚会邀请函
2014/01/19 职场文书
情人节活动策划方案
2014/02/27 职场文书
升旗仪式主持词
2014/03/19 职场文书
党员带头倡议书
2015/04/29 职场文书
详解Python requests模块
2021/06/21 Python
Python中的pprint模块
2021/11/27 Python
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫