博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
部署DTCMS到Jexus遇到的问题及解决思路--验证码
阅读量:5843 次
发布时间:2019-06-18

本文共 809 字,大约阅读时间需要 2 分钟。

上一篇博客我们已经基本完成了部署工作,目前发现了验证码出现500错误,分析其代码,我们可以看到验证码使用的是System.Drawing命名空间下的类库, GDI+ 位图,这个在肯定是平台相关的,所以我们可以搜索GDI+mono来看有无解决方案。

通过搜索引擎,我们可以找到通过安装GDI+兼容API的库Libgdiplus可以实现GDI+功能。

安装方法

1
2
3
4
5
6
7
8
9
10
cd
 /usr/local/src/
#通过访问http://download.mono-project.com/sources/libgdiplus/获取libgdiplus最新的版本
wget http:
//download
.mono-project.com
/sources/libgdiplus/libgdiplus-4
.2.
tar
.gz
#解压缩
tar
 -zxvf libgdiplus-4.2.tar.gz
cd
 libgdiplus-4.2
#注意可能会提示缺少gcc或其他的组件,安装后重新执行即可
.
/configure
 --prefix=/usr
make
make
 install

重启Jexus服务,验证码可以显示了

仔细观察,和windows下验证码对比可以发现验证码字母显示不全,通过分析代码可以看到

//字体列表,用于验证码 string[] font = { "Times New Roman", "Verdana", "Arial", "Gungsuh", "Impact" };

验证码使用了以上字体,而Linux中未安装这些字体,所以我们需要安装字体,可参考https://www.javawind.net/p130 安装字体,最后重启Linux,验证码问题解决!

转载于:https://www.cnblogs.com/jjg0519/p/8471491.html

你可能感兴趣的文章
2014年云计算五大趋势
查看>>
我的友情链接
查看>>
Java新手看招 常用开发工具介绍
查看>>
Windows Server 2008更改用户的环境变量和系统环境变量
查看>>
SQL语句学习
查看>>
初次安装系统注意选项
查看>>
mysql的SQL性能监控
查看>>
使用Dockerfile构建镜像
查看>>
大学生IT博客大赛开赛 相关报道
查看>>
tcpdump使用方法总结
查看>>
What is Cluster Aware Updating in Windows Server 2012?
查看>>
Linux命令详解 -- tar
查看>>
Java.net.URL学习总结
查看>>
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。...
查看>>
进老男孩的自我介绍和决心书
查看>>
Leetcode Construct Binary Tree from Inorder and Postorder Traversal
查看>>
线上Linux服务器运维安全策略经验分享
查看>>
Django实现组合搜索的方法示例
查看>>
Android一些问题的解决方案
查看>>
Clion 常用快捷键
查看>>