编写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空白页面常见原因及解决方法相关推荐

  1. 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 ...

  2. ❤️关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法❤️

    关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法 1.点击file打开设置settings,打开Editor找到 file and code templ ...

  3. 计算机管理员无法关闭防火墙,Win10关闭防火墙提示:出于安全原因 某些设置由系统管理员管理的解决方法...

    每台电脑都会有防火墙的功能,这也是为了我们电脑的安全.我们在使用Win10系统的过程中,一般都会在打开系统后都会禁用系统的防火墙功能.但是,有用户在关闭防火墙时出现了防火墙无法关闭的情况.提示:出于安 ...

  4. 删除AppData后出现任务栏图标点击没反应的解决方法

    删除AppDate后出现任务栏图标点击没反应的解决方法 本人因为C盘满了,一时手贱把c盘里面用户文件的AppData删除了,结果出现有些软件打不开,任务栏点击没反应.游览器插件丢失.软件的环境变量消失 ...

  5. 编写HTML代码常见错误以及解决方法?

    编写HTML代码常见错误以及解决方法? 参考文章: (1)编写HTML代码常见错误以及解决方法? (2)https://www.cnblogs.com/sqyss/p/11105221.html 备忘 ...

  6. 安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法

    安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法 参考文章: (1)安装centos后 启动mysqld显示mysqld: 未被识别的服务 解决方法 (2)https: ...

  7. 移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究

    移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 参考文章: (1)移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 (2)https://www.cnblogs.com/ranyon ...

  8. 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 ...

  9. linux vim无法退格,Cygwin下安装vim后,vim中退格键无法正常使用的解决方法

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...

  10. Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法

    Windows下运行python脚本报错"ImportError: No Module named ..."的解决方法 参考文章: (1)Windows下运行python脚本报错& ...

最新文章

  1. jQuery--.css(width)和.width()的区别
  2. 也来谈谈RNN的梯度消失/爆炸问题
  3. POJ 2069最小球覆盖 HDU3007最小圆覆盖【模拟淬火算法】
  4. Gartner:70%新应用由低代码开发,AI热潮后小数据崛起
  5. 操作系统学习之GCC内联汇编
  6. Spring No mapping found for HTTP request with URI错误
  7. java inputstream编码格式_纯文本-FileInputStream的编码与解码方式
  8. R语言 openair 做后向轨迹
  9. 监控软件加入智能零售 试着用人脸辨识让消费力提升
  10. 想要定制专属AI声音?这是一份来自微软的保姆级攻略
  11. Java doc或docx转pdf文件预览
  12. 零数开放许可链入选《互联网周刊》2021区块链应用创新TOP50
  13. 【弄nèng - SearchGuard】应用篇 —— Windows下elasticsearch5.2.2 安装SearchGuard5.2.2
  14. android 启动界面全屏显示,Android 启动页 (Splash) 的实现
  15. DAOS 分布式异步对象存储|事务模型
  16. 在java中 数组是作为_2.在Java中,数组是作为____来处理的。
  17. 有线广电如何转型和发展
  18. 计算机管理 存储空间不足,win10系统提示“存储空间不足无法处理此命令”的处理技巧...
  19. 95年有g510台式计算机吗,台式电脑太老了换cpu能行吗?
  20. iphone5s怎么取消iphone系统更新如何关闭系统更新提醒

热门文章

  1. python win32com Dispatch, DispatchEx 无法打开(启动)excel pywintypes.com_error: (-2146959355, ‘服务器运行失败‘
  2. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】
  3. HMI-44-【多媒体】开启新篇章
  4. 什么是.NET的程序集?
  5. 标准正态分布alpha分位点
  6. Contrast Preserving Decolorization
  7. 能力等同于学历吗?|猿代码科技
  8. Freemarker模板---引擎学习
  9. 关于文本编辑器的一点思考
  10. 人工智能ai思维_人工智能系统如何学习创造性思维