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中count获取多维数组长度的方法
Nov 03 PHP
php遍历目录方法小结
Mar 10 PHP
php获取指定范围内最接近数的方法
Jun 02 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
基于php判断客户端类型
Oct 14 PHP
php pdo操作数据库示例
Mar 10 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
一个实用的php验证码类
Jul 06 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 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
我的论坛源代码(十)
2006/10/09 PHP
php从右向左/从左向右截取字符串的实现方法
2011/11/28 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
laravel5.6实现数值转换
2019/10/23 PHP
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
angular之ng-template模板加载
2017/11/09 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
在windows下使用python进行串口通讯的方法
2019/07/02 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
解决python运行启动报错问题
2020/06/01 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
医药销售求职信范文
2014/02/01 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
2015年工程部工作总结
2015/04/30 职场文书
高一英语教学反思
2016/03/03 职场文书
吃通javascript正则表达式
2021/04/21 Javascript
SpringBoot生成License的实现示例
2021/06/16 Java/Android
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL