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自动注册登录验证机制实现代码
Dec 20 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php实现微信公众号无限群发
Oct 11 PHP
php实现网站留言板功能
Nov 04 PHP
详谈PHP中的密码安全性Password Hashing
Feb 04 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
如何解决php-fpm启动不了问题
Nov 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
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP分享图片的生成方法
2018/04/25 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python使用pyodbc访问数据库操作方法详解
2018/07/05 Python
浅析python继承与多重继承
2018/09/13 Python
Python Pandas 箱线图的实现
2019/07/23 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
python3实现弹弹球小游戏
2019/11/25 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
三分钟演讲稿事例
2014/03/03 职场文书
环保专项行动方案
2014/05/12 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
Go gorilla/sessions库安装使用
2022/08/14 Golang