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 相关文章推荐
初学CAKEPHP 基础教程
Nov 02 PHP
php fsockopen中多线程问题的解决办法[翻译]
Nov 09 PHP
php中http_build_query 的一个问题
Mar 25 PHP
解析PHP多种序列化与反序列化的方法
Jun 06 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php实现QQ空间获取当前用户的用户名并生成图片
Jul 25 PHP
php格式化json函数示例代码
May 12 PHP
Smarty模板常见的简单应用分析
Nov 15 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
Nov 20 PHP
微信小程序和php的登录实现
Apr 01 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读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
广告显示判断
2006/08/31 Javascript
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
javascript 打印页面代码
2009/03/24 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
对python中Json与object转化的方法详解
2018/12/31 Python
Python循环实现n的全排列功能
2019/09/16 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
《鞋匠的儿子》教学反思
2014/03/02 职场文书
动物科学专业求职信
2014/07/27 职场文书
格林童话读书笔记
2015/06/30 职场文书
校园新闻稿范文
2015/07/18 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS