分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

[.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路--验证码

发布时间:2023-09-06 01:32责任编辑:林大明关键词:验证码

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

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

安装方法

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.gzcd libgdiplus-4.2#注意可能会提示缺少gcc或其他的组件,安装后重新执行即可./configure --prefix=/usrmakemake install

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

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

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

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

[.Net跨平台]部署DTCMS到Jexus遇到的问题及解决思路--验证码

原文地址:https://www.cnblogs.com/wpycs/p/8127139.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved