thinkphp部署到Linux后验证码功能不显示
来源:互联网 发布:ubuntu 运行c 编辑:程序博客网 时间:2024/05/18 23:53
thinkphp部署到Linux后验证码功能不显示
在将写好的商城项目部署到Linux服务器后发现验证码不显示,总是显示这样:
在查阅了一系列资料之后,发现有横多人遇到同样的问题,解决方法也大同小异,无非是开启GD库,去掉bom,关闭调试模式等,但是在逐一实验后发现并没有什么效果,但是我咋本地和在Windows服务器上的项目却没有问题。单独打开验证码,显示的是以html文本编码的图片乱码,这证明图片已经生成了,但是为什么不显示呢?通过查看源码发现该文件开始存在一个空格,或者是bom头。
这个现象确实很奇怪,因为我现在输出验证码之前使用函数ob_end_clean();
清除过缓存区,通过查询手册,了解到该函数的返回值为bool型,我就var_dump()
了一下该函数的执行结果,发现返回值为FALSE,果然这就是问题所在,但是该怎样解决呢?查询手册发现该函数执行失败会抛出一个E_NOTICE异样,我就修改了‘php.ini’文件,试着捕获一下该异样,我将php.ini文件中的error_reporting设置为E_ALL & ~E_DEPRECATED & ~E_STRICT
,重启Apache之后再次运行,发现并没有什么变化,之后发现在ini文件中有个Default Value:E_ALL & ~E_NOTICE
未注释,注释之后发现ob_end_clean函数的返回值变成了TRUE,验证码也可以正常演示了,至此问题解决。
总结:该问题的产生是由于Default Value 的值影响了error_reporting的配置,从而使得ob_end_clean函数失效,Default Value只是配置文件提供的注释,不可打开。
- thinkphp部署到Linux后验证码功能不显示
- thinkphp 验证码不显示
- thinkphp验证码不显示
- thinkphp写的验证码不显示
- 关于thinkphp显示不出验证码
- Thinkphp 传到服务器,验证码不显示
- thinkphp 验证码不显示问题
- Thinkphp 验证码不显示解决办法
- ThinkPHP移植到另一台电脑后验证码显示不了
- bootscript部署到服务器后图标不显示
- Thinkphp中验证码不显示(裂开)解决办法
- 解决thinkPHP图片验证码不显示的问题
- thinkphp生成的验证码不显示问题解决
- thinkphp生成的验证码不显示问题解决
- 关于thinkphp验证码不显示的问题
- ThinkPHP 解决验证码不显示的方法
- 关于thinkphp生成的验证码不显示问题解决
- ubuntu下thinkphp不显示验证码的问题
- cas4.2.7定制登录页面样式(并且让页面默认使用中文提示)
- 哈夫曼编码
- 简单排序算法时间空间复杂度分析及应用(1)-冒泡排序
- 线程安全
- c++指针的一些陷阱(更新ing)
- thinkphp部署到Linux后验证码功能不显示
- 类和对象的深入剖析【整理】
- 神经网络向量化实现
- Protobuffer 中文序列化反序列化乱码?丢失?
- 200. Number of Islands(unsolved)
- Linux运维笔记-文档总结-Linux中的进程管理
- 火狐页面放缩比例一次设置永久有效
- QT第一天
- Android开发进阶—View事件分发机制完全解析(上)