您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
Discuz!NT在64位Windows下运行常见问题
尔珍2025-07-06Discuz教程已有人查阅
导读非常搞,等了快一年Discuz!NT的免费版本依旧不支持64位Windows。官方出了64位windows支持的指南居然是叫用户把IIS设置为32位兼容模式。说了等于没说
非常搞,等了快一年Discuz!NT的免费版本依旧不支持64位Windows。官方出了64位windows支持的指南居然是叫用户把IIS设置为32位兼容模式。说了等于没说,这不叫在64位Windows下运行Discuz!NT,这叫如何不使用64位环境运行Discuz!NT。(最郁闷的是IIS 6是否开启32位支持是一个全局设定,我专门为论坛开了32位支持,服务器上别的依赖64位的程序怎么办?)
直接咨询过Discuz的客服,MM很客气,态度很好,但给的解决方案就是让偶购买商业授权,说掏钱就一定没问题。
但是听得我很忐忑。以我自己开发程序的经验,Discuz!NT的在64位运行故障,直接把IIS Application Pool搞崩溃,一定是程序内部的问题。而不是授权的问题。
总怕被MM给忽悠了。3000大元啊。反正Discuz!NT是开源的。这3000块给自己赚不是更好?
这世界上总不会只有我运遇到这个问题。我就痴心的等。等了快一年。还是没有解决。
今天终于怒了。自己动手,丰衣足食。
首先,下载Discuz!NT的源码。
非常奇怪,Discuz!NT不用google code之类的;51aspx下载慢死。
本地编译,上传、部署debug版本。从官方论坛上看到,有若干网友说要编译64位版本,甚至还说要把Discuz!NT用的几个依赖库也重新位64位编译。我很怀疑这些网友究竟自己尝试过没有。反正,我按他们说的方法去做。浪费一整天不说,始终也没有任何效果。
之后,祭出Debug Diagnostic Tool(感谢祖国,微软去年底终于推出了64bit版!)神器。
直接用默认的Crash Rule跟踪论坛的Application Pool进程。先访问一个空aspx页面启动进程,之后便访问论坛首页。果然又挂了。而Debug Diagnostic Tools自动dump了进程出来。
很好。继续祭出Debugging Tools For Windows神器。
Load dump文件。执行:!analyze -v
乖乖。立刻显示:
对DES不熟,不清楚为什么64位下运行FlushFinalBlock会出错。重新将DES的decode/encode函数实现一遍。上传服务器。论坛首页终于出来了。
直接咨询过Discuz的客服,MM很客气,态度很好,但给的解决方案就是让偶购买商业授权,说掏钱就一定没问题。
但是听得我很忐忑。以我自己开发程序的经验,Discuz!NT的在64位运行故障,直接把IIS Application Pool搞崩溃,一定是程序内部的问题。而不是授权的问题。
总怕被MM给忽悠了。3000大元啊。反正Discuz!NT是开源的。这3000块给自己赚不是更好?
这世界上总不会只有我运遇到这个问题。我就痴心的等。等了快一年。还是没有解决。
今天终于怒了。自己动手,丰衣足食。
首先,下载Discuz!NT的源码。
非常奇怪,Discuz!NT不用google code之类的;51aspx下载慢死。
本地编译,上传、部署debug版本。从官方论坛上看到,有若干网友说要编译64位版本,甚至还说要把Discuz!NT用的几个依赖库也重新位64位编译。我很怀疑这些网友究竟自己尝试过没有。反正,我按他们说的方法去做。浪费一整天不说,始终也没有任何效果。
之后,祭出Debug Diagnostic Tool(感谢祖国,微软去年底终于推出了64bit版!)神器。
直接用默认的Crash Rule跟踪论坛的Application Pool进程。先访问一个空aspx页面启动进程,之后便访问论坛首页。果然又挂了。而Debug Diagnostic Tools自动dump了进程出来。
很好。继续祭出Debugging Tools For Windows神器。
Load dump文件。执行:!analyze -v
乖乖。立刻显示:
0000000003502A90 00000642788F2237 mscorlib_ni!System.AccessViolationException..ctor()+0x17
(TransitionUM)
(TransitionMU)
000000000354E6D0 0000064278ACB013 mscorlib_ni!System.Security.Cryptography.CryptoAPITransform.TransformFinalBlock(Byte[], Int32, Int32)+0x123
000000000354E760 0000064278334403 mscorlib_ni!System.Security.Cryptography.CryptoStream.FlushFinalBlock()+0x33
000000000354E7A0 00000642801D09BA Discuz_Common!Discuz.Common.DES.Decode(System.String, System.String)+0x11a
000000000354E810 00000642801D0430 Discuz_Forum!Discuz.Forum.OnlineUsers.UpdateInfo(System.String, Int32, Int32, System.String)+0xc0
000000000354E890 00000642801CE4AB Discuz_Forum!Discuz.Forum.PageBase..ctor()+0x55b
问题很明显了。Discuz!NT启动时检查用户信息的代码出错了。具体是:Discuz.Common\Encrypt.cs文件的97行 DES类Decode函数。对DES不熟,不清楚为什么64位下运行FlushFinalBlock会出错。重新将DES的decode/encode函数实现一遍。上传服务器。论坛首页终于出来了。
本文标签:
很赞哦! ()
相关教程
图文教程
xampp搭建discuz论坛的方法
1.浏览器中输入http://localhost:80/phpmyadmin/,或者点击mysql的admin,进入mysql数据库2.new->create,创建数据库3.浏览器中输出localhost:80/bbs
discuz论坛发展历程和功能介绍
Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有11年以上的应用历史和200多万网站用户案例
ThinkPHP怎么和Discuz整合
ThinkPHP + Discuz 整合方法以下是Discuz6的整合方法,discuz5请按照里面的说明进行相应的修改,也可以使用了。1.在项目的action目录下信件PublicAction.class.php。这样写:
Discuz模板更新后样式错乱的解决方法
1. 清空浏览器缓存或使用无痕模式浏览网站;2. 检查并确保css文件路径正确;3. 使用ftp工具确认所有模板文件已上传并覆盖原文件;4. 禁用所有插件,然后逐一启用并测试,找出问题插件。
相关源码
-
(自适应响应式)html5蓝色智能水表营销型网站pbootcms模板下载PbootCMS内核开发,为智能水表企业打造的营销型网站解决方案,本模板基于PbootCMS内核开发,为智能水表及相关行业企业设计,采用HTML5+CSS3技术构建,具有响应式布局。查看源码 -
(自适应)工业机械设备产品介绍免费pbootcms源码下载本网站模板基于PbootCMS内核精心开发,为机械设备与工业产品制造企业量身打造。设计充分考量行业特性,突出产品展示与技术实力呈现查看源码 -
(自适应响应式)英文外贸汽车零配件五金机械网站模板为汽车零部件制造商与五金机械出口企业打造的响应式网站模板,内置多语言切换功能,支持产品参数表、OEM能力展示等外贸场景需求。通过结构化数据展示帮助海外买家快速理解产品规格。查看源码 -
(自适应)中英双语配线器材扎带线卡网站pbootcms模板免费下载为线缆管理、电气配线领域打造的响应式网站模板,采用PbootCMS内核开发,可快速搭建企业级产品展示平台,数据实时同步管理。查看源码 -
帝国cms7.5淘宝客电商品牌特价带手机站带会员模板下载为电商品牌特价展示设计的帝国CMS模板,集成PC端与移动端双平台适配。采用瀑布流商品布局,支持品牌分类聚合展示,突出特价促销视觉冲击力。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码
| 分享笔记 (共有 篇笔记) |
