各位吧友大家觉得诺基亚e97720怎么样

博客访问: 292666
博文数量: 100
博客积分: 4010
博客等级: 上校
技术积分: 1055
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
&&&PHP网站管理在wamp上修改好后,上传到linux(CENTOS4.7)服务器上,结果后台的验证码图片不能显示,无法登陆进去。GD库是没问题的(其实是有问题的,phpinfo中没有gd的配置。这是后来才发现的),服务器上其他论坛的验证码图片显示正常,折腾了一个下午,还是没有头绪,tail - tail -f httpd_也发现不了什么。带着郁闷的心情回去了,google大神也没有了指示,最后一招,修改login check文档。&&&&思路:去掉验证码检验。&&&&于是分析代码,查找切入点。。。在管理文档的include/captcha.class.php中找到了检查函数,返回fauls,改为true就好了,当然,修改的方式还有几种,但思路都是一样的。&&&&至于验证码图片的显示问题,应急的原因,先搁置吧。
阅读(2910) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。完美解决thinkphp验证码出错无法显示的方法
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了完美解决thinkphp验证码出错无法显示的方法,对比官网给出的方法结合自身的实践,给出了一个相对可行的解决方法,具有一定的参考借鉴价值,需要的朋友可以参考下
本文实例讲述了完美解决thinkphp验证码出错无法显示的方法。分享给大家供大家参考。具体分析如下:
今天做到验证码这一块,想到tp自带验证图片,大喜,但鼓捣半天不出来,一直是个小 X的样子.
官方提示如下:
如果无法显示验证码,请检查:
① PHP是否已经安装GD库支持;
② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出);
③ Image类库是否正确导入;
④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录;
但是测试半天,不行!网上找来一个能用的方法,放到一个文件里执行可用,进入到tp里面通过index.php入口进去就是小 x,然后能用的方法所在文件把编码改为utf-8 含有bom的编码也会出现小 X,其他编码都会出来验证码,初步判断是tp执行到输出验证码的前面有内容输出,主管想到了清除之前的输出就行.
代码如下:&?php&
ob_start();//不加这个是不行的(貌似不加可以)&
echo "不要显示";&
ob_end_clean();&
echo "只要显示这";&
解决方法,修改生成验证码方法:
代码如下://生成验证码&
public function verifyimg(){&
import("ORG.Util.Image");&
ob_end_clean();&
Image::buildImageVerify();&
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《》及《》
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Linux下验证码无法显示!
Linux下验证码无法显示!
发布时间: 21:13:13
编辑:www.fx114.net
本篇文章主要介绍了"Linux下验证码无法显示!",主要涉及到Linux下验证码无法显示!方面的内容,对于Linux下验证码无法显示!感兴趣的同学可以参考一下。
linux/unix + RESIN 验证码无法显示的问题
昨天马上要出版本了,我做的验证码在windows上可以正常显示,HP Server上装的Redhat 9上无法显示,愁死我了,搞了一天都没有搞定,公司又不能上网.今天搜到了一个,先转一把.要是测试部发现问题,又是一个致命问题,系统不能登陆!
关键字: Tomcat & &&&&
最近公司项目开发中遇到的一个问题,整理一下,和大家分享。
验证码无法显示的问题,验证码的代码就是google上查找到的最常见的代码,服务器采用resin部署于linux或unix。不是常见的out.clear()问题,这次的问题发现在一个我压根就没有想到的地方,profile DISPLAY 环境变量。
1) 问题描述: 登录页面等有验证玛显示的页面,通常可以正确显示验证码图片,但是在某些情况下发现验证码图片无法显示,并且目前只发生在linux/unix平台,windows下正常.而且和resin/jdk版本无关.
bug的直接表现是表现为ie下是红叉,firefox下无实现.将验证码图片的地址在ie输入框中输入,则页面报错:
500&Servlet&Exception &&
java.lang.NoClassDefFoundError &&
&&&&at&java.lang.Class.forName0(Native&Method) &&
&&&&at&java.lang.Class.forName(Class.java:164) &&
&&&&at&java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68) &&
&&&&at&java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1141) &&
&&&&&&&&at&com.asiainfo.aimc.wmail.action.CreateImageServlet.doGet(CreateImageServlet.java:104)&&
这里的java.lang.NoClassDefFoundError 极其误导人,一直以为是CLASSPATH或者jar包的问题,所以反复检查resin和jdk版本。 始终无法找到问题,只好尝试追查jdk源码,看到底发生了什么。
2) jdk源码追查
调用的servlet: BufferedImage bi = new BufferedImage(...) Graphics2D g = bi.createGraphics();
查jdk: BufferedImage.createGraphics(): GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
再查GraphicsEnvironment.getLocalGraphicsEnvironment: String nm = (String) java.security.AccessController.doPrivileged (new sun.security.action.GetPropertyAction (&java.awt.graphicsenv&, null)); ...... localEnv = GraphicsEnvironment) Class.forName(nm).newInstance(); ...... 问题应该和nm有关,这里明显是一个类似工厂模式的设计,&java.awt.graphicsenv&到nm 然后Class.forName() 生成GraphicsEnvironment对象。 由于代码在jdk中,不方便修改,因此单独将这些代码提出来到简单的测试类 Test.java:
3) 测试代码分析
public&class&Test&{ &&
&&&&public&static&void&main(String[]&args)&{ &&
&&&&&&&&String&nm&=&(String)&java.security.AccessController.doPrivileged &&
&&&&&&&&(new&sun.security.action.GetPropertyAction &&
&&&&&&&&&(&java.awt.graphicsenv&,&null)); &&
&&&&&&&& &&
&&&&&&&&System.out.println(nm); &&
&&&&&&&& &&
&&&&&&&&try&{ &&
&&&&&&&&&&&&Class.forName(nm).newInstance(); &&
&&&&&&&&}&catch&(Throwable&e)&{ &&
&&&&&&&&&&&&System.out.println(&error=&&+&e.getClass().getName()); &&
&&&&&&&&&&&& &&
&&&&&&&&&&&&e.printStackTrace(); &&
&&&&&&&&}& &&
在windows平台下运行,结果正常,打印: sun.awt.Win32GraphicsEnvironment
将代码放到出问题的resin安装所在的linux平台,手工编译运行: javac Test.java java -cp . Test
报错,打印为:
sun.awt.X11GraphicsEnvironment &&
Throwable=java.lang.InternalError &&
java.lang.InternalError:&Can't&connect&to&X11&window&server&using&'10.3.18.16'&as&the&value&of&the&DISPLAY&variable. &&
&&&&&&&&at&sun.awt.X11GraphicsEnvironment.initDisplay(Native&Method) &&
&&&&&&&&at&sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53) &&
&&&&&&&&at&sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142) &&
&&&&&&&&at&java.security.AccessController.doPrivileged(Native&Method) &&
&&&&&&&&at&sun.awt.X11GraphicsEnvironment.&clinit&(X11GraphicsEnvironment.java:131) &&
&&&&&&&&at&java.lang.Class.forName0(Native&Method) &&
&&&&&&&&at&java.lang.Class.forName(Class.java:164) &&
&&&&&&&&at&Test.main(Test.java:13)&&
从错误信息& Can't connect to X11 window server using '10.3.18.16' as the value of the DISPLAY variable.&来看,和DISPLAY环境变量有关 执行unset再运行可以发现问题消失: $& unset DISPLAY $& java -cp . Test sun.awt.X11GraphicsEnvironment $&
在此情况下(unset DISPLAY )下重新启动resin,发现验证码可以正常显示。
4) 解决的方法: 必须保证resin运行时DISPLAY 环境变量没有设置,如果resin运行的环境有其他要求必须使用DISPLAY,则可以在运行resin前使用unset清除. 建议的简单而有效的方法是直接修改resin/bin/httpd.sh文件,在第二行(具体行数无所谓,但必须在最后一行前)插入: #! /bin/sh unset DISPLAY #....
5)疑惑 1. Can't connect to X11 window server using '10.3.18.16' as the value of the DISPLAY variable 为什么要去连X11 window server ?不懂
2. 从Test.java运行看抛出的是Error : java.lang.InternalError,但是页面上显示的是java.lang.NoClassDefFoundError,看了看源代码也没有发现先catch 后throws的错误处理,不清楚这里的具体处理,不方便继续追查,作罢。
11:3611:34&&|&& 永久链接&&|&& 浏览&(478)&&|&& 评论 &(4)&&| web &&|&& 进入论坛&&|&
/blog/133359
评论 &&&共 4 条
问题答案很容易在网上查到。类Unix系统里面如果主机上面没有带显示器的话,需要启动虚拟界面进程,此进程在系统安装时是可以选装的(openwin或X11)。
skydream&&&
我google了一下&验证码 DISPLAY&,没有发现相关的内容。
不过发现google的搜索引擎实在太强了,我刚发了这个帖子,才15分钟就在google上找到了我自己的帖子,简直快的有些变态了......
顺便百度了一下,呵呵,没有找到。
google &unix BufferedImage.getGraphics&
搜索这个&Can't connect to X11 window server using &你会找到需要的答案的。
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:遇到个问题,Linux系统下验证码无法生成【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:613,053贴子:
遇到个问题,Linux系统下验证码无法生成收藏
阿里云linux系统,tomcat8,java8,求助万能的吧友吧友
会说话的投币器,您的财富管理专家,明明白白去赚钱!
是这个错误Could not initialize class sun.awt.X11FontManager不是Could not initialize class sun.awt.X11GraphicsEnvironment我试了centOS6.4,tomcat8,Java8没问题,centOS系统jdk是用yum安装的,阿里云linux是手动安装的,是不是jdk的问题,还是系统问题?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 诺基亚最新手机 的文章

 

随机推荐