php代码运行后空白什么原因,PHP空白页面常见原因及解决方法
编写PHP,难免会出现错误。其实出现错误也不难解决,最难解决的是出现空白页面。大家想想看,若编写PHP出现错误,可以根据错误的提示来改正,倘若PHP什么也不给你显示,那岂不是让编写者困挠不以?下面,我就把我在编写PHP时总结出来的有关PHP空白页面的解决方法以及产生原因。当然,本人写PHP并不是很高手,所以如果有错误,请不惜指出。
1、动作未定义
先请大家看一看下面的代码:
以下为引用的内容:
[code]
$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");
}
?>
[/code]
这段代码大家看得很明白,就是如果$action变量为空时将它设为1,然后判断$action变量的值而做出不同的事件。当然,假如$action既不等于1,也不等于2的时候,PHP会做什么呢??——什么也不会做,所以就会产生了空白的页面。知道了原因,解决就容易了。关于这个问题的解决,很简单,在if模块后加一个else就可以了。
2、语法错误
大家可能会问了,如果出现语法错误,一般会有错误提示的,怎么会空白呢?当然,这只是一些个别现象,在某些主页空间中(比如中国聚网的免费空间),如果你写得PHP有语法错误,它也不会有任何提示。解决也很容易,在上传文件之前在本地测试,找出错误的代码进行改正。
3、逻辑错误
这个问题是最难排除的,从表面上看,也许代码是合法的,是正规的,可运行起来却不是预料之中的。为什么呢?我想,也许是编写者想得不够全面,毕竟人是人,计算机是计算机,计算机不可能完全按照人的思路去运行脚本。在这里,我告诉大家一个比较好的调试方法,就是使用注释符“/* */”,注释掉一些代码,观察运行情况。要想完全排除逻辑错误,没有耐心是不行的,所以要静下心来,不要着急。
4、滥用错误抑制符
错误抑制符“@”常常用于可能会发生错误的地方,但是抑制符使用过多或使用得不是时候,也可能导致空白也免得出现,来看看下面两个PHP脚本吧:
test1.php
以下内容为程序代码:
以下为引用的内容:
@include("test2.php");
echo($var);
?>
test2.php
以下内容为程序代码:
以下为引用的内容:
$var = "Hi" //这行代码有错误,没有分号
$var1 = "Hello" //同上
?>
运行test1看看,结果就产生了空白的页面。纠正也很简单,可以去掉include函数前面的抑制符,或者更正test2.php文件中的错误。
其实,产生空白页面的原因可能会是更复杂、更难排除的原因,这里所列出来的只是最有可能出现的,只要认真分析了代码,其实排除错误也是很简单的事情。
php代码运行后空白什么原因,PHP空白页面常见原因及解决方法相关推荐
- java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是()
java面试题35 给定以下JAVA代码,这段代码运行后输出的结果是() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
- ❤️关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法❤️
关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法 1.点击file打开设置settings,打开Editor找到 file and code templ ...
- 计算机管理员无法关闭防火墙,Win10关闭防火墙提示:出于安全原因 某些设置由系统管理员管理的解决方法...
每台电脑都会有防火墙的功能,这也是为了我们电脑的安全.我们在使用Win10系统的过程中,一般都会在打开系统后都会禁用系统的防火墙功能.但是,有用户在关闭防火墙时出现了防火墙无法关闭的情况.提示:出于安 ...
- 删除AppData后出现任务栏图标点击没反应的解决方法
删除AppDate后出现任务栏图标点击没反应的解决方法 本人因为C盘满了,一时手贱把c盘里面用户文件的AppData删除了,结果出现有些软件打不开,任务栏点击没反应.游览器插件丢失.软件的环境变量消失 ...
- 编写HTML代码常见错误以及解决方法?
编写HTML代码常见错误以及解决方法? 参考文章: (1)编写HTML代码常见错误以及解决方法? (2)https://www.cnblogs.com/sqyss/p/11105221.html 备忘 ...
- 安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法
安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法 参考文章: (1)安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法 (2)https: ...
- 移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究
移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 参考文章: (1)移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 (2)https://www.cnblogs.com/ranyon ...
- dwr运行时出现Servlet.init() for servlet dwr-invoker threw exception的解决方法
dwr运行时出现Servlet.init() for servlet dwr-invoker threw exception的解决方法 2009-07-29 11:56 错误信息如下: javax.s ...
- linux vim无法退格,Cygwin下安装vim后,vim中退格键无法正常使用的解决方法
问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...
- Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...
最新文章
- jQuery--.css(width)和.width()的区别
- 也来谈谈RNN的梯度消失/爆炸问题
- POJ 2069最小球覆盖 HDU3007最小圆覆盖【模拟淬火算法】
- Gartner:70%新应用由低代码开发,AI热潮后小数据崛起
- 操作系统学习之GCC内联汇编
- Spring No mapping found for HTTP request with URI错误
- java inputstream编码格式_纯文本-FileInputStream的编码与解码方式
- R语言 openair 做后向轨迹
- 监控软件加入智能零售 试着用人脸辨识让消费力提升
- 想要定制专属AI声音?这是一份来自微软的保姆级攻略
- Java doc或docx转pdf文件预览
- 零数开放许可链入选《互联网周刊》2021区块链应用创新TOP50
- 【弄nèng - SearchGuard】应用篇 —— Windows下elasticsearch5.2.2 安装SearchGuard5.2.2
- android 启动界面全屏显示,Android 启动页 (Splash) 的实现
- DAOS 分布式异步对象存储|事务模型
- 在java中 数组是作为_2.在Java中,数组是作为____来处理的。
- 有线广电如何转型和发展
- 计算机管理 存储空间不足,win10系统提示“存储空间不足无法处理此命令”的处理技巧...
- 95年有g510台式计算机吗,台式电脑太老了换cpu能行吗?
- iphone5s怎么取消iphone系统更新如何关闭系统更新提醒
热门文章
- python win32com Dispatch, DispatchEx 无法打开(启动)excel pywintypes.com_error: (-2146959355, ‘服务器运行失败‘
- 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】
- HMI-44-【多媒体】开启新篇章
- 什么是.NET的程序集?
- 标准正态分布alpha分位点
- Contrast Preserving Decolorization
- 能力等同于学历吗?|猿代码科技
- Freemarker模板---引擎学习
- 关于文本编辑器的一点思考
- 人工智能ai思维_人工智能系统如何学习创造性思维