安装使用篇
1.Discuz安装使用精华集 作者:全球通
https://discuz.dismall.com/viewth ... hlight=%B0%B2%D7%B0
2. Discuz! 论坛安装图解傻瓜教程 作者:Aikko
https://discuz.dismall.com/viewthread.php?tid=43210
3.安装论坛前环境配置 作者:爱乐之人
https://discuz.dismall.com/viewth ... hlight=%B0%B2%D7%B0
4.关于部分插件的反安装 作者:lu5266,魔焰男孩
https://discuz.dismall.com/viewth ... hlight=%B0%B2%D7%B0
https://discuz.dismall.com/viewth ... hlight=%B0%B2%D7%B0
5.Win下IIS+php+mysql+zend+discuz!完整安装图解版 作者:茄子
https://discuz.dismall.com/viewth ... hlight=%B0%B2%D7%B0
6.关于phpwind部分版本不能成功转换的说明
https://discuz.dismall.com/viewthread.php?tid=124446
7.Discuz!代码自定义、修改积累提供
https://discuz.dismall.com/viewth ... 8%D2%E5%B4%FA%C2%EB
升级篇
1.关于转换或者升级以后出现乱码情况的说明 作者:ramboo
https://discuz.dismall.com/viewth ... &extra=page%3D2
2.2.5F升级没有成功解决办法 作者:ramboo
https://discuz.dismall.com/viewth ... &extra=page%3D2
问题解答篇
1.错误信息如下:如何解决
- Discuz! info: MySQL Query Error Time: 2005-11-17 3:07am Script: /index.php SQL: SELECT * FROM cdb_settings WHERE variable NOT IN ('bbrules', 'bbrulestxt', 'maxonlines', 'welcomemsg', 'welcomemsgtxt') Error: No Database Selected Errno.: 1046 Similar error report has beed dispatched to administrator before.
复制代码
答:是因为config.inc.php里的$dbname没有设置,如果权限足够并且$dbname没有设置也是这种提示
2.打开html页码以后,发的贴子不能正常分段, 该如何解决?
答:把板块使用HTML权限取消,然后给用户组开这个权限,用户在发贴的时候选择使用HTML代码就行
3.MYSQL常见出错代码有哪些? 作者:童虎
常见错误!
1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。
1044错误:数据库用户权限不足,请联系空间商解决
1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
1146错误:数据表缺失,请恢复备份数据.
2002错误:服务器端口不对,请咨询空间商正确的端口。
2003错误:mysql服务没有启动,请启动该服务
1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误
1024:读文件错误
1025:更改名字时发生错误
1026:写文件错误
1032:记录不存在
1036:数据表是只读的,不能对它进行修改
1037:系统内存不足,请重启数据库或重启服务器
1038:用于排序的内存不足,请增大排序缓冲区
1040:已到达数据库的最大连接数,请加大数据库可用连接数
1041:系统内存不足
1042:无效的主机名
1043:无效连接
1044:当前用户没有访问数据库的权限
1045:不能连接数据库,用户名或密码错误
1048:字段不能为空
1049:数据库不存在
1050:数据表已存在
1051:数据表不存在
1054:字段不存在
1065:无效的SQL语句,SQL语句为空
1081:不能建立Socket连接
1114:数据表已满,不能容纳任何记录
1116:打开的数据表太多
1129:数据库出现异常,请重启数据库
1130:连接数据库失败,没有连接数据库的权限
1133:数据库用户不存在
1141:当前用户无权访问数据库
1142:当前用户无权访问数据表
1143:当前用户无权访问数据表中的字段
1146:数据表不存在
1147:未定义用户对数据表的访问权限
1149:SQL语句语法错误
1158:网络错误,出现读错误,请检查网络连接状况
1159:网络错误,读超时,请检查网络连接状况
1160:网络错误,出现写错误,请检查网络连接状况
1161:网络错误,写超时,请检查网络连接状况
1062:字段值重复,入库失败
1169:字段值重复,更新记录失败
1177:打开数据表失败
1180:提交事务失败
1181:回滚事务失败
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
1205:加锁超时
1211:当前用户没有创建用户的权限
1216:外键约束检查失败,更新子表记录失败
1217:外键约束检查失败,删除或修改主表记录失败
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
1227:权限不足,您无权进行此操作
1235:MySQL版本过低,不具有本功能
4.mysql远程连接方法: 作者:深海
https://discuz.dismall.com/viewth ... 1%26filter%3Ddigest
5.升级为4.0版本以后,出现问题,错误提示如下:
- Discuz! info: MySQL Query Error
- User: segaa
- Time: 2005-11-21 6:18am
- Script: /discuz/post.php
- SQL: INSERT INTO cdb_threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, blog, poll, attachment, moderated)
- VALUES ('6', '0', '0', '25', '0', 'segaa', '31727', 'hi', '1132525129', '1132525129', 'segaa', '0', '0', '0', '0', '0', '0')
- Error: Duplicate entry '0' for key 1
- Errno.: 1062
- Similar error report has beed dispatched to administrator before.
复制代码
答:将cdb_threads 的tid字段设置为auto_increment
建议您对照标准表结构将所有的表的auto_increment 这个属性对应添加上
6.用repaire.php修过了,还是出现如下错误
- There seems to have been a problem with the database of your Discuz! Board
- Discuz! info: MySQL Query Error
- Time: 2005-11-10 11:26am
- Script: /viewthread.php
复制代码
- SQL: SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS
- discuz_pw,
- m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry,
- m.extgroupids, m.email, m.timeoffset,
- m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits,
- m.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5,
- m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat,
- m.pmsound, m.sigstatus, m.invisible,
- m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks
- FROM cdb_members m WHERE uid='442'
- Error: Lost connection to MySQL server during query
- Errno.: 2013
- Please check-up your MySQL server and forum scripts, similar errors will not be
- reported again in recent 24 hours
- If you have troubles in solving this problem, please visit Discuz! Community
复制代码
解决方法:
出现这个错误的时候大概有多少人在线?在线用户更新时间设置的是多少?mysql服务器是否和web服务程序在同一台主机上?
如果是独立主机请把mysql的配置文件和系统软硬件环境贴上来看看吧.应该是配置的问题
如果是虚拟主机应该也是多人共用一台mysql服务器的.请主机服务商业检查一下是否mysql的最大连接数已经不能满足现在的负载了,如果确定负载没有问题可以在mysql的配置文件的mysqld分类下加上
一行试试
7.防止盗链的方法:
- RewriteEngine on
- RewriteCond %{HTTP_REFERER} !^[url]http://guistyle.org/.[/url]*$ [NC]
- RewriteCond %{HTTP_REFERER} !^[url]http://guistyle.org$[/url] [NC]
- RewriteCond %{HTTP_REFERER} !^[url]http://www.guistyle.org/.[/url]*$ [NC]
- RewriteCond %{HTTP_REFERER} !^[url]http://www.guistyle.org$[/url] [NC]
- RewriteCond %{HTTP_REFERER} !^[url]http://bbs.guistyle.org/.[/url]*$ [NC]
- RewriteCond %{HTTP_REFERER} !^[url]http://bbs.guistyle.org$[/url] [NC]
- RewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ [url]http://www.guistyle.net/[/url]这里是指定的图片或页面 [R,NC]
复制代码
把上面的域名换成自己的
jpg|jpeg|gif|png|bmp|rar|zip|exe 这里定义你要防止盗链的文件扩展名
后面定义 如果盗链了这些扩展名的文件 将指定到哪个 页面 或者图片上
改完 存成 .htaccess 放在 根目录 或者 附件目录里
如果放根目录则整站 全部防止盗链 放在特定目录 则 特定目录防止盗链
8.主页在线列表和帖子中会员在线状态同步的修改
1)打开 viewthread.php
找到:- mf.sightml AS signature, mf.customstatus
复制代码
- 在它后面加上: , s.username AS s_username (不要漏了前面的,)
- 变成: mf.sightml AS signature, mf.customstatus, s.username AS s_username
复制代码
找到:
- LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
复制代码
在它后面加上:
- LEFT JOIN {$tablepre}sessions s ON s.uid=mf.uid
复制代码
变成:
- LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
- LEFT JOIN {$tablepre}sessions s ON s.uid=mf.uid
复制代码
2)打开 ./templates/default/viewthread.htm
找到:
- <!--{if $timestamp - $post['lastactivity'] <= 10800 && !$post['invisible']}-->
复制代码
改成:
- <!--{if $post['s_username'] != '' && !$post['invisible']}-->
复制代码
好了,这样修改的话,几乎不影响论坛执行效率
9.禁止用纯数字注册的方法
打开register.php
找到
- ($censoruser && @preg_match($censorexp, $username))) {
- showmessage('profile_username_illegal');
- }
复制代码
在下面加上
- if(preg_match("/[0-9]/",$username)) {
- showmessage('profile_username_nofigure');
- }
复制代码
打开message.lang.php
找到
- 'profile_username_illegal' => '用户名包含敏感字符或被系统屏蔽,请返回重新填写。',
复制代码
在下面加上
- 'profile_username_nofigure' => '用户名不允许数字出现,请返回重新填写。',
复制代码
这样,在用户注册的时候就会提示不允许数字注册
10.浏览器进程生效方法.
修改include/common.js
在文件的末尾加入以下代码:
- function DelCookie(sName)
- {
- document.cookie = sName + "=a; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
- }
- //当没有cdb_auth cookie的时候,删掉cookie cdb_sid
- if(getcookie("cdb_auth")==""){
- DelCookie("cdb_sid");
- }
复制代码
11.查看新帖的默认时间是多久?
最后访问时间前10分钟之后有最新回复的帖子。
index.php
$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
12.上传多媒体文件直接播放方法:
https://discuz.dismall.com/viewthread.php?tid=173772
https://discuz.dismall.com/viewth ... &extra=page%3D1
13.教你如何修复数据表 作者:深海
https://discuz.dismall.com/viewth ... hlight=%D0%DE%B8%B4
14.GBK与UTF8有何不同呢?
因为不同的人需要不同的版本
UTF8支持的字符更多,但是占用数据库的容量是GBK的1.5倍
如果没有特别的需要建议使用GBK版本
15.论坛短信不用点击可以看内容的方法
修改很简单,只要打开templates/default/pm_folder.htm
找到
- <td class="altbg2" onMouseOver="this.className='altbg1'" onMouseOut="this.className='altbg2'">
复制代码
改成
- <td class="altbg2" onMouseOver="this.className='altbg1'" onMouseOut="this.className='altbg2'" title="$pm[message]">
复制代码
16.如何从数据库中删除短信
delete from cdb_pms where `subject` LIKE '[Discuz!] test';
17.在dw中实现flash透明背
http://www.363000.com.cn/Article/ShowArticle.asp?ArticleID=4384
18.快捷回复加入表情插入功能
https://discuz.dismall.com/viewth ... 5%C8%EB%B9%A6%C4%DC
19.SQL报错
- SQL: SELECT views, tid, subject FROM cdb_threads WHERE displayorder>='0' ORDER BY views DESC LIMIT 0, 20 Error: Error writing file '/tmp/MYoBoZrS' (Errcode: 28) Errno.: 3
复制代码 这个是什么错误啊
答:磁盘空间满
20.我想问一下,php.ini中把哪个打开就能看到报错了
答:; E_ALL - All errors and warnings,把前面的分号去掉
error_reporting
display_error=on
21.关于phpmyadmin的基本用法小结 作者: @鑫~#
https://discuz.dismall.com/viewthread.php?tid=132882
模板修改篇
1.关于在header.htm模板中添加插件链接的教程
https://discuz.dismall.com/viewthread.php?tid=126298
2.在论坛顶部添加banner的方法
https://discuz.dismall.com/viewthread.php?tid=128891
3.Discuz!模板编辑详细说明
http://kb.discuz.com/index.php?t ... F%E7%BC%96%E8%BE%91
4.增加ICP备案的方法:
在footer.htm文件中加入
- <a href="http://www.miibeian.gov.cn/" style="color:red;font-weight:bold">ICP备案号码</a>
复制代码
技术相关
1.Discuz后台解析大全
http://kb.discuz.com/index.php
2.PHP文件上传
http://kb.discuz.com/index.php?t ... 6%E4%B8%8A%E4%BC%A0
3.关于phpmyadmin的基本用法小结。 作者:鑫~#
https://discuz.dismall.com/viewth ... &extra=page%3D1
转换相关
1.动网转换到discuz详细步骤:
http://kb.discuz.com/index.php?t ... D%AC%E6%8D%A2#dvbbs
2.Phpwind转换到discuz详细步骤
http://kb.discuz.com/index.php?t ... AC%E6%8D%A2#phpwind
3.Vbb转换到discuz详细步骤
http://kb.discuz.com/index.php?t ... %BD%AC%E6%8D%A2#vbb
其他相关
1.傻瓜式Apache+PHP+MYSQL安装程序
https://discuz.dismall.com/viewthread.php?tid=120023
2.关于登陆后变游客的几种表现和解决办法
https://discuz.dismall.com/viewthread.php?tid=125262
3.论坛“搬家”全攻略
https://discuz.dismall.com/viewthread.php?tid=127977
4.一个不错的MYSQL数据库备份工具
https://discuz.dismall.com/viewthread.php?tid=128844
5.最详细的WIN&LINUX PHP+MYSQL+WEB配置指南 作者:AsIwish
https://discuz.dismall.com/viewthread.php?tid=130664
6.防CC攻击的简单方法
对于RC4及以上版本 在config.inc.php中加入一行
$attackevasive = 3;
即可有效防止由代理服务器发起的CC攻击
其中1为开启cookie刷新限制;2为禁止代理访问;3为两者全开
7.在新发的帖子前加new标志
我想在每个新的帖子前面都要标有new的标志,能现实吗?
答:把firstnew.gif图片换成一个带new的图片就可以了 根目录下的图片目录中有
8.转换完成后,只有主题,没有回复会是什么原因呢?大部分帖子就没有回复?
说明主题表与posts表不同步,可能是原来数据就这样- DELETE FROM `cdb_threads` WHERE `views`='0' AND `replies`='0';
复制代码 在后台执行这个 执行了,也更新统计了,但还是没有回复 不行的话就修改转换程序 把去掉
9.修改数据表前缀后,又出现- SQL: UPDATE cdb_2settings SET totalmembers=0, maxavatarsize=maxavatarsize*100 Error: Unknown column 'totalmembers' in 'field list' 这样的错误,是什么原因呢?
复制代码
答:如果用户修改了数据库表的前缀,必须修改升级文件,把cdb_修改成用户的数据库表前缀,如cdb_2 等之类,全部替换的快捷方式是ctrl+H
10.把所有会员的现金统一改为1000000,威望为0。怎么写SQL语句呢?
答:- UPDATE `cdb_members` SET `extcredits2`='1000000',`extcredits1`='0';
复制代码
11.积分和威望同时等于会员的发帖数,这个要在后台怎么写SQL语句呢?
- UPDATE `cdb_members` SET `积分字段` = '金钱字段'='posts';
复制代码
12.数据库与程序不对应
由pw转换到dz的时候,转换第一步出现Column count doesn't match value count at row 1错误提示,怎么解决呢
答:原因是数据库与程序不对应,比如用rc3的程序,访问rc4的数据库就会出现这样的错误。
13.报错,错误信息如下:
- SQL: UPDATE cdb_members SET extcredits1=credits
- Error: Unknown column ' extcredits1' in 'field list'
复制代码
程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖
答:在cdb_members表中没有extcredits1这个字段,加上就可以了
14.从pw到dz转换完成后签名解析不了怎么办?
方法是:登录论坛->用户控制面板->编辑个人资料,什么也不用改直接提交就能解析了。
15.2003错误是什么意思- Error: Can't connect to MySQL server on 'localhost' (10049) [color=Red]MySQL服务没有启动,请启动该服务[/color] Similar error report has beed dispatched to administrator before.
复制代码 除了连接不上mysql服务器这个原因外,还有其它的原因吗?
答:另外一个原因是mysql的默认端口是3306,检查一下你的config.inc.php中的数据库用户名和密码数据库名是否正确,或者 好了,解决了,你们怎么默认不连3306,我现在强制在localhost后面加了个:3306
16.我的论坛上面的客户是注册客户,我想把他改成金牌会员,在后面设置也成功了,前台也显示是金牌会员了,可是过一会就又变会注册会员了,?这个是什么原因
答:需要修改这个会员的相应积分
17.注册页如何只显示“必填内容”?
只显示必填内容,下面直接就是提交。“选填内容”和“论坛个性化设置”隐藏起来。直接在模板中去掉好像不行。
答:可以去掉的,用js或者直接用样式display将非必填的单元格设置 style="display:none" 也可以“去掉”的
18.通行证启用,论坛相应功能关闭,有办法解决吗?管理员进不了后台了
答:运行下面的sql语句就可以了。- update cdb_settings set passport_status=0;
复制代码
19.邮件不能发送的原因和解决办法
文件:include/sendmail.php
查找
在其后添加
作用是暂停一秒后继续运行,如果1还是不行,就改成2,或者是3。
关于论坛邮件系统的说明
邮件系统能不能正常使用,是由两个方面决定的
1)本身服务器是否支持发送邮件,不同的服务器对邮件发送的支持也是不同的,你可以根据自己的主机来配置论坛根目录下的mail_config.php文件中的$mailsend变量来决定,具体配置见下面的代码
- $mailsend = 1; // 邮件发送方式 0=不发送任何邮件
- // 1=通过 PHP 函数及 UNIX sendmail 发送(推荐此方式)
- // 2=通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
- // 3=通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)
复制代码
如果你不清楚你的服务器是那种类型,可通过 utilities/testmail.php 进行测试,测试方法如下,把论坛压缩包里面的utilities/testmail.php文件打开,把里面的
- $from = '[email]my@mydomain.com[/email]'; // 发件人邮件地址
- $to1 = '[email]test@test.com[/email]'; // 测试单一邮件发送地址
- $to2 = '[email]test1@test1.com[/email], [email]test2@test2.net[/email]'; // 测试邮件群体发送地址
复制代码
这个部分进行配置,然后传到服务器执行,这样如果服务器支持邮件发送,那么你填写的地址将收到邮件,如果没有收到邮件则说明你的服务器不支持邮件发送。
如果你的服务器不支持邮件发送,还有一个办法可以实现就是申请一个支持邮件发送的免费邮箱,然后在上面所说的配置论坛根目录下的mail_config.php文件中的$mailsend变量中选择2,然后把再在那个文件中找到
- $mailcfg['server'] = 'smtp.21cn.com'; // SMTP 服务器
- $mailcfg['port'] = '25'; // SMTP 端口, 默认不需修改
- $mailcfg['auth'] = 1; // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
- $mailcfg['from'] = 'Discuz <[email]myaccount@21cn.com[/email]>'; // 发信人地址 (如果需要验证,必须为本服务器地址)
- $mailcfg['auth_username'] = 'myaccount'; // 验证用户名
- $mailcfg['auth_password'] = 'password'; // 验证密码
复制代码
根据上面的信息解释,填写好信息,这样就可以发送邮件了。
做好上面的几步,基本上就可以正常发送邮件了,如果你还是不能发送邮件请往下看
2)决定邮件发送系统是否正常的第二个因素,这个就是邮件接收方的问题了,现在市面上大部分免费邮箱都有防止垃圾信的功能,是否能收到信要看接收方是否能够通过认证,有时候没有收到信很可能是接收方的邮件系统把你的信件过滤了,如果出现这种情况你可以统计一下那些信箱不能收到信,然后联系这些提供免费邮箱网站的相关部门,说明情况一般就可以解决了
20. 限制游客不能看帖子内容如何设置呢?
我想要的是进得去版面且看得到列表,但是看不了内容!
而且点击版面名称进去之后是提示只有特定用户才可浏览!我想要到的是游客级别无法浏览...
方法1:后台--用户设置--用户组编辑--游客(Guest)--[详情]--允许浏览贴子--选否.
然后进入给游客浏览的分论坛
在编辑论坛里把开放的论坛浏览项全部打钩就可以实现了
方法2:
后台--discuz设置--显示设置--隐藏无权访问的论坛(默认是)--选否
后台--用户设置--用户组编辑--游客(Guest)--[详情]--允许浏览贴子--选是.
后台--论坛设置--编辑论坛--把限制的论坛浏览项允许浏览用户组打钩
21.支付宝账号激活说明
https://discuz.dismall.com/viewth ... &extra=page%3D1
22.支付宝使用完全图解 作者:童虎
https://discuz.dismall.com/viewth ... &extra=page%3D1
23.Discuz! 4.0.0最新发现问题及相关解决办法
https://discuz.dismall.com/viewth ... &extra=page%3D1
24.不同MYSQL版本数据导入问题解决办法 作者:童虎
https://discuz.dismall.com/viewthread.php?tid=142050
相关工具
工具一:找回管理员密码 作者:童虎
https://discuz.dismall.com/viewth ... &extra=page%3D1
[ 本帖最后由 玻璃屋女孩 于 2005-12-15 17:24 编辑 ] |