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 不错的学习资料
Feb 06 PHP
又一个php 分页类实现代码
Dec 03 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
基于Zend的Config机制的应用分析
May 02 PHP
10个简化PHP开发的工具
Dec 25 PHP
php中解析带中文字符的url函数分享
Jan 20 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
mac pecl 安装php7.1扩展教程
Oct 17 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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 5.0 Pear安装方法
2006/12/06 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
$()JS小技巧
2007/07/21 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
React实现全选功能
2020/08/25 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
python Tkinter版学生管理系统
2019/02/20 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
公开承诺书格式
2014/05/21 职场文书
运动会口号16字
2014/06/07 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
2014年扫黄打非工作总结
2014/12/03 职场文书
行政文员岗位职责
2015/02/04 职场文书
公司处罚决定书
2015/06/24 职场文书
海弦WR-800F
2022/04/05 无线电