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初学者们头痛的十四个问题
Jan 15 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
深入解析php中的foreach函数
Aug 31 PHP
php中curl和file_get_content的区别
May 10 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
Jun 13 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
php提交表单发送邮件的方法
Mar 20 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
Mar 29 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 PHP
PHP简单实现记录网站访问量功能示例
Jun 06 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.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
php 获取全局变量的代码
2011/04/21 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
python编写分类决策树的代码
2017/12/21 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
对python 命令的-u参数详解
2018/12/03 Python
Python下简易的单例模式详解
2019/04/08 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python实现网络聊天室的示例代码(支持多人聊天与私聊)
2021/01/27 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
安全员岗位职责
2013/11/11 职场文书
黄河的主人教学反思
2014/02/07 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
房屋产权证明书
2015/06/19 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书