Discuz!4.0.0全攻略
) n' ]; \% `. D! L6 O8 T6 i+ X
2006-11-15 17:05:46 / 个人分类:经验
# q2 q+ H) W; Q; X' E/ s
6 r. B0 ~( {" m- v安装使用篇
$ P: F0 n/ ?% s" R T4 } }1.Discuz安装使用精华集 作者:全球通
" p! I6 i- ^. t- s: n3 o
http://www.discuz.net/viewthread ... hlight=%B0%B2%D7%B0
' D) `: g, ^* i/ l
2. Discuz! 论坛安装图解傻瓜教程 作者:Aikko
4 ~0 F, x1 e* \0 r0 w8 Lhttp://www.discuz.net/viewthread.php?tid=43210
2 |1 |+ Q" e+ G8 Z. u3.安装论坛前环境配置 作者:爱乐之人
& a" V |9 m; v$ M2 Uhttp://www.discuz.net/viewthread ... hlight=%B0%B2%D7%B0
9 Q" u# j& {0 M- u4.关于部分插件的反安装 作者:lu5266,魔焰男孩
; d& _3 J- o) I, O1 c Y5 G
http://www.discuz.net/viewthread ... hlight=%B0%B2%D7%B0
% A! E" G, Y8 g7 k) u' y, C$ ?
http://www.discuz.net/viewthread ... hlight=%B0%B2%D7%B0
7 z' }3 T8 o' s( j8 V5.Win下IIS+php+mysql+zend+discuz!完整安装图解版 作者:茄子
# J& |/ b% u- W9 Fhttp://www.discuz.net/viewthread ... hlight=%B0%B2%D7%B0
; u' \1 N! {$ z6.关于phpwind部分版本不能成功转换的说明
; z5 ^0 M# N- ?, O n8 C
http://www.discuz.net/viewthread.php?tid=124446
, G8 T5 a! y9 o7 U/ m7.Discuz!代码自定义、修改积累提供
) w' I2 p# Z3 d) I' _
http://www.discuz.net/viewthread ... 8%D2%E5%B4%FA%C2%EB
+ ~, X( g% o. E1 ^) N( T. _
+ r5 K- L2 u: \. g- i
升级篇
% ]' d- t* M* C5 J( h% j
1.关于转换或者升级以后出现乱码情况的说明 作者:ramboo
# e1 [* C9 f y: y) e4 ~
http://www.discuz.net/viewthread ... &extra=page%3D2
' B6 z/ r$ W+ |# n( o
2.2.5F升级没有成功解决办法 作者:ramboo
0 M. m2 w- H ?( W0 M8 J0 s2 @http://www.discuz.net/viewthread ... &extra=page%3D2
3 y; N9 z' a( _" [+ J& \6 P5 g# j: w+ C5 s
问题解答篇
0 F# k4 _+ \& d8 m' R
- E2 _* y0 {+ }# ]0 h" R3 S1.错误信息如下:如何解决
+ s/ ~% i& u* w G) M
CODE:
0 @' T9 Z6 Q$ {$ C8 t6 m; _ S# ^( F$ q7 `. i
Discuz! info: MySQL Query Error Time: 2005-11-17 3:07am scrīpt: /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.
9 U" u ^ `# W* m. ] G. @4 N答:是因为config.inc.php里的$dbname没有设置,如果权限足够并且$dbname没有设置也是这种提示
1 u! O0 o. I5 c$ i" w& [
2.打开html页码以后,发的贴子不能正常分段, 该如何解决?
$ v) {4 @7 Z' a: X
答:把板块使用HTML权限取消,然后给用户组开这个权限,用户在发贴的时候选择使用HTML代码就行
4 b. P! _; X8 K) H* F/ c3.MYSQL常见出错代码有哪些? 作者:童虎
( p3 E4 |& d! n; l1 _, S$ \& P常见错误!
1 t( U/ f# z" j7 @5 O
' e' a7 I0 T' k& p/ ~- ^1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。
4 I2 @: \( z' r& W3 r6 Q+ `
1044错误:数据库用户权限不足,请联系空间商解决
4 J% Q% [* r+ c) g* A0 g1 ~ r8 s
1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
5 {% h- _% F9 g3 v1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
* i: {0 T0 @; R! E# U: o5 i' J8 b1146错误:数据表缺失,请恢复备份数据.
% o" |$ }) K N4 i7 l5 x2002错误:服务器端口不对,请咨询空间商正确的端口。
: b/ X/ H6 j" G- m! m' @
2003错误:mysql服务没有启动,请启动该服务
$ q& D+ X% {# v- J! X
1005:创建表失败
|& u' _/ f! _, W1 c" x* p
1006:创建数据库失败
6 ?6 Q# N$ k+ r6 `' e$ S
1007:数据库已存在,创建数据库失败
$ ^+ u* e m! e9 \% R+ X7 D
1008:数据库不存在,删除数据库失败
, z" S2 |0 ?6 ]% P3 ~) A6 q6 o8 C$ `1009:不能删除数据库文件导致删除数据库失败
+ `/ T7 x7 h- R6 i7 L' F4 N4 \0 t
1010:不能删除数据目录导致删除数据库失败
6 r4 V7 Z+ G& f( }, t5 [" x+ w, {
1011:删除数据库文件失败
( @4 D w# ~/ q3 L$ N) p
1012:不能读取系统表中的记录
+ }2 |( K9 J( o4 f B
1020:记录已被其他用户修改
8 `' J# Z* T' _# o4 U1021:硬盘剩余空间不足,请加大硬盘可用空间
6 A- [% D0 n3 ^6 e- K1022:关键字重复,更改记录失败
2 h; O1 _0 A8 m! v, j1023:关闭时发生错误
. D3 A5 |6 z' X! g# f" A9 \) c0 V1024:读文件错误
b% X: l' V8 a" Y+ c% p' D0 }0 C2 A1025:更改名字时发生错误
1 q: r. R- F# `7 X1026:写文件错误
* _( _" T8 `& C* R; x1032:记录不存在
' J1 z% M" B5 }) v
1036:数据表是只读的,不能对它进行修改
: t7 l' a) g) ^" Q9 C
1037:系统内存不足,请重启数据库或重启服务器
/ E% e2 |8 J3 H+ y
1038:用于排序的内存不足,请增大排序缓冲区
5 c( _0 H9 K) s1040:已到达数据库的最大连接数,请加大数据库可用连接数
3 n' d: S- p3 F. {1041:系统内存不足
% a. Q% ~: w$ u, c# n% }+ Z" Y
1042:无效的主机名
2 L2 c% t( T- ]' Z8 Z! l
1043:无效连接
5 |! Z) X* H8 H! n
1044:当前用户没有访问数据库的权限
' N+ x. ]) y5 m8 M% }3 R, Z; F+ w9 A: F1045:不能连接数据库,用户名或密码错误
1 K! Q: c1 P. W% R4 Q1048:字段不能为空
' i; h) U( D- y- B) J1049:数据库不存在
3 D' ?7 j& M$ s. D+ I( D
1050:数据表已存在
' u( ?8 Z' x& f1051:数据表不存在
& ^) i8 o9 h- B2 o+ F3 |+ k( K
1054:字段不存在
6 u6 R; K* r& N# L8 o6 \1065:无效的SQL语句,SQL语句为空
w' g1 `/ j& R3 {2 B# w' }( a
1081:不能建立Socket连接
# L& U# M! T, R( l- H$ E/ v
1114:数据表已满,不能容纳任何记录
8 s2 n# n" s2 C h1116:打开的数据表太多
2 @5 f. f- g4 k3 `) ~. V* [1129:数据库出现异常,请重启数据库
2 g" t# D7 W( \
1130:连接数据库失败,没有连接数据库的权限
' G/ j4 }% Y7 V
1133:数据库用户不存在
- w; s6 l2 a9 t [
1141:当前用户无权访问数据库
: w3 s5 _8 f+ j' G1142:当前用户无权访问数据表
: q1 K6 l( Y5 m, G, ?. K
1143:当前用户无权访问数据表中的字段
9 A$ P8 ^7 I; j, ?% T, W" X! N9 @1146:数据表不存在
$ k# s- }4 M/ H3 W
1147:未定义用户对数据表的访问权限
) T' j. H, F) `
1149:SQL语句语法错误
4 l+ V& T" H0 T& c& V
1158:网络错误,出现读错误,请检查网络连接状况
; R& U! T! W; b' D7 D
1159:网络错误,读超时,请检查网络连接状况
0 I4 n# c: f: i
1160:网络错误,出现写错误,请检查网络连接状况
: M4 ~6 V: T! ^5 K' }. L1161:网络错误,写超时,请检查网络连接状况
6 e& N: Y/ B3 P5 |6 s, O1062:字段值重复,入库失败
6 V" W5 I \! z* M
1169:字段值重复,更新记录失败
3 Z/ }9 X. }' _6 m4 h9 R d
1177:打开数据表失败
3 _5 I/ B5 ^' u$ Z" e$ `1180:提交事务失败
- v# B7 u( g2 T, F& J, c1181:回滚事务失败
# k* y8 M3 N" W7 p8 Y8 b$ Q
1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库
# B$ Q1 D5 E; P! R1205:加锁超时
) P! ]: Q! `' J% p( E, R1211:当前用户没有创建用户的权限
5 @* {. q1 Q' Z5 g. j
1216:外键约束检查失败,更新子表记录失败
5 c: |6 ?: p' z2 C) T
1217:外键约束检查失败,删除或修改主表记录失败
5 T% R2 n) l. u# j9 n
1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器
" {( h2 y6 O/ j# _2 N1227:权限不足,您无权进行此操作
# q6 K( b: x( R% j9 T4 W0 V1235:MySQL版本过低,不具有本功能
% ~/ i( c) o1 D" z6 h% y; V4.mysql远程连接方法: 作者:深海
' i8 _: ?5 m+ g3 o6 T; Y: {, L* F
http://www.discuz.net/viewthread ... 1%26filter%3Ddigest
. r& g0 O) F$ a! n5.升级为4.0版本以后,出现问题,错误提示如下:
5 q I- `$ Z* |0 J( r; y, oCODE:
0 ?( I5 w' p' b; W4 |
9 Z/ e% F4 \' ]% ?Discuz! info: MySQL Query Error
: b( t& j" o7 X4 S, B: q3 f a2 N3 H2 _+ E4 ?* N' O
User: segaa
7 A. `6 g$ @' o- w) I5 P; NTime: 2005-11-21 6:18am
/ W' C( c- s' W8 I& gscrīpt: /discuz/post.php
* m4 Q: _1 J2 |
1 N% D$ d, O- Z3 C1 A( N: j
SQL: INSERT INTO cdb_threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, blog, poll, attachment, moderated)
. z" w! V& Q" \9 T' P2 ?2 F
VALUES ('6', '0', '0', '25', '0', 'segaa', '31727', 'hi', '1132525129', '1132525129', 'segaa', '0', '0', '0', '0', '0', '0')
8 q$ V# U" S6 z3 R$ KError: Duplicate entry '0' for key 1
- _+ U# N" L9 a5 i/ f& [5 L5 ?: qErrno.: 1062
' o7 y( h& R5 i/ g
. J+ c/ z5 f& e8 x3 d. kSimilar error report has beed dispatched to administrator before.
5 Y% q( a7 W1 e& s& ]: r6 a# D# j
答:将cdb_threads 的tid字段设置为auto_increment
7 }' S3 @% r" M建议您对照标准表结构将所有的表的auto_increment 这个属性对应添加上
0 A2 n0 \1 M$ i8 t6.用repaire.php修过了,还是出现如下错误
0 {1 i5 S5 f. \, o" o2 lCODE:
9 G3 p- A; U+ S
) B/ p. V' }/ e/ f! I
There seems to have been a problem with the database of your Discuz! Board
9 W/ J" s) L5 P1 [2 c* z5 [" f4 k$ Y; R
Discuz! info: MySQL Query Error
* a+ k# }: d1 P/ O) b0 G" B% j9 H% i* f( ~9 [3 J
Time: 2005-11-10 11:26am
$ F# n* o5 {& f# U/ _- M
scrīpt: /viewthread.php
3 F5 v% b. M, _% l
, w8 B. R. e/ }
CODE:
7 O4 d' F" o8 z/ b9 f3 K! q
. a# d7 z6 K8 c9 JSQL: SELECT m.uid AS discuz_uid, m.username AS discuz_user, m.password AS
5 ?% j5 ^! v7 w5 adiscuz_pw,
5 I: b6 ]) D1 ]+ B( I0 i
m.secques AS discuz_secques, m.adminid, m.groupid, m.groupexpiry,
( V6 a T Q! g" |5 Qm.extgroupids, m.email, m.timeoffset,
- o# q! Z: o# m
m.tpp, m.ppp, m.posts, m.digestposts, m.oltime, m.pageviews, m.credits,
* I/ D0 }4 j$ m1 qm.extcredits1, m.extcredits2, m.extcredits3, m.extcredits4, m.extcredits5,
0 a8 m/ P- g+ S- Y. | m.extcredits6, m.extcredits7, m.extcredits8, m.timeformat, m.dateformat,
: H# ?6 f4 i6 _: W5 F( b Tm.pmsound, m.sigstatus, m.invisible,
* f6 u, h/ }( a* W1 f& d
m.lastvisit, m.lastactivity, m.lastpost, m.newpm, m.accessmasks
8 Q" C; S" J- a FROM cdb_members m WHERE uid='442'
: U" k; V0 j5 f
Error: Lost connection to MySQL server during query
d( E4 E% e9 b* OErrno.: 2013
% C8 ?( {" K* ^9 c& e
: u* ?! o) U& u/ y, V7 i3 f8 lPlease check-up your MySQL server and forum scrīpts, similar errors will not be
9 V$ a+ l; k) W3 A9 o$ preported again in recent 24 hours
2 V$ X$ M) }' u! ^5 vIf you have troubles in solving this problem, please visit Discuz! Community
: A! W& `# O ^' Z' W( }; s解决方法:
- Q; R1 J. x' \7 t出现这个错误的时候大概有多少人在线?在线用户更新时间设置的是多少?mysql服务器是否和web服务程序在同一台主机上?
q$ q. Q6 r: R3 r
) [# {: I& I1 C2 p% {" W如果是独立主机请把mysql的配置文件和系统软硬件环境贴上来看看吧.应该是配置的问题
# W! z: _4 P) `# L
/ w% C! w* q2 P3 f$ q如果是虚拟主机应该也是多人共用一台mysql服务器的.请主机服务商业检查一下是否mysql的最大连接数已经不能满足现在的负载了,如果确定负载没有问题可以在mysql的配置文件的mysqld分类下加上
+ f& U" k: {: [% p# C+ E& Y9 uCODE:
0 n- Y! G# q# e2 n& Y5 h+ w
3 s z$ a6 _. F5 L' @4 h+ y, ~skip-name-resolv
) o: S4 `% X( F7 Z: B3 w2 J1 U一行试试
0 O2 ~/ L+ f$ F
7.防止盗链的方法:
, A4 a% M* t; d& r a0 @
CODE:
. Y& I/ R+ O0 R/ F+ B1 p( r8 e Q$ b+ n; I% a4 B" Y! v
RewriteEngine on
: s/ W- V" B# c8 e* F; M" l
RewriteCond %{HTTP_REFERER} !^
http://guistyle.org/.*$ [NC]
5 v4 m! v7 A7 m& h" V0 p
RewriteCond %{HTTP_REFERER} !^
http://guistyle.org$ [NC]
0 k. K" e: f. ?
RewriteCond %{HTTP_REFERER} !^
http://www.guistyle.org/.*$ [NC]
4 h4 ^' }" f3 E3 P/ y3 _4 M9 ? vRewriteCond %{HTTP_REFERER} !^
http://www.guistyle.org$ [NC]
; l/ e9 \5 a; W3 O7 @8 K4 G
RewriteCond %{HTTP_REFERER} !^
http://bbs.guistyle.org/.*$ [NC]
) a9 {1 L$ } q) R# b6 w
RewriteCond %{HTTP_REFERER} !^
http://bbs.guistyle.org$ [NC]
% q0 {2 e: Y, s- V# SRewriteRule .*\.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$
http://www.guistyle.net/这里是指定的图片或页面 [R,NC]
* k2 I6 D' H! j9 D把上面的域名换成自己的
( J& |: [( e9 h3 Z5 a' w! l7 e1 z% A6 l
jpg|jpeg|gif|png|bmp|rar|zip|exe 这里定义你要防止盗链的文件扩展名
& w; t; W4 J* N5 D+ u% Q
- [9 R Q, n/ H* X# R后面定义 如果盗链了这些扩展名的文件 将指定到哪个 页面 或者图片上
2 l; f! P$ \) R8 I$ f- i
+ X& E) j5 v3 O+ B/ o7 Z5 l9 m2 J% K改完 存成 .htaccess 放在 根目录 或者 附件目录里
5 N- J. L: ?5 i/ {6 E8 q
% a# ]" v% Z/ T" J% k0 u5 ~! \如果放根目录则整站 全部防止盗链 放在特定目录 则 特定目录防止盗链
) t7 p5 P" F2 l# ?/ D! v1 P8.主页在线列表和帖子中会员在线状态同步的修改
7 L" u8 m7 n _. Y% @1)打开 viewthread.php
2 k/ o1 s" E5 {. C* Q' `7 X# [
* Q: E. ^" U$ d% Y/ X找到:
. e/ i( x9 d/ e6 x: M, d: H: c' n4 |
CODE:
2 G! E- M$ |8 J0 C
5 ^& F3 N- ~3 B; J! s+ s) ymf.sightml AS signature, mf.customstatus
" u) C5 j( [7 z- S# }5 v& l
& Z; x7 b3 Z' F/ Z. FCODE:
3 u z+ m2 Q1 k- V# c$ X8 U
& R8 w L! F. J( t% g. s在它后面加上: , s.username AS s_username (不要漏了前面的,)
. S9 b) K" {0 i- ~% g+ ^
q* } A! }* a/ {% n% ?
变成: mf.sightml AS signature, mf.customstatus, s.username AS s_username
% [% \' t* n/ R; a找到:
0 a: d6 T9 d- e3 n; M% ? }. ], }CODE:
) G# z+ y+ s. K6 E& Y2 l- w
7 ^' Z4 x, N/ \, Q LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
6 I& E5 H/ E% |: F) m: A: d在它后面加上:
' \; c5 f4 W4 u( z0 e* V: M
CODE:
# I [& u" [8 ~# K4 [0 V( J$ E3 r$ n. f9 n, k
LEFT JOIN {$tablepre}sessions s ON s.uid=mf.uid
4 f {3 Y& a: N, G, | F
变成:
( I. X! P/ ^, _ W* U% LCODE:
: q, A3 A8 \' Z& f+ i
6 n: B* U4 P! d+ G) d/ z& t
LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
0 Q" j P3 ]0 C& U* M7 v& w9 _ LEFT JOIN {$tablepre}sessions s ON s.uid=mf.uid
% l% j# V* l& ^7 k. Q6 y4 K0 c# f" ^' n2)打开 ./templates/default/viewthread.htm
& O E6 L7 q# c4 J
. @5 j- ]% {. k找到:
$ X. |( D7 B7 f- S s* G' Z& n
CODE:
% l" V/ [8 u: y, A3 t, M$ X2 P# U' K
3 b2 u# ] @ s- Y <!--{if $timestamp - $post['lastactivity'] <= 10800 && !$post['invisible']}-->
) ?$ m" N: i2 i2 U
改成:
- j0 T, N0 W& ]CODE:
$ V' P4 C f: {7 G: O/ c) g! B2 V- o3 ]
<!--{if $post['s_username'] != '' && !$post['invisible']}-->
+ p3 B' p5 m- V% t7 X. g: r3 S3 Z好了,这样修改的话,几乎不影响论坛执行效率
( N# B! D1 X8 O2 i& i9.禁止用纯数字注册的方法
. d* I- `! G0 n+ m1 y& d打开register.php
* `5 Z& B9 T; `7 t
( ~: q* |. A5 w; ~2 Y$ K" U8 E$ \% d8 M+ y, F9 \
找到
& \. V+ t5 Y8 V8 Q0 yCODE:
! M) E. u1 k5 w! \
$ d$ w0 _' k Z* r+ h( r, l
($censoruser && @preg_match($censorexp, $username))) {
, p2 G2 ^2 r" I4 e Y showmessage('profile_username_illegal');
" B$ U1 F* u7 F2 C8 }5 ~ }
6 r- K T; u8 N3 }5 h
在下面加上
4 m+ y: G5 j, c3 V% q
CODE:
4 g6 J% B+ q) x3 {0 L
5 I7 _6 x- n& M3 A& L5 h1 hif(preg_match("/[0-9]/",$username)) {
x. ]; `! C+ w# ^' }
showmessage('profile_username_nofigure');
" s% g# t# ~! M: u }
' a$ o% Z* b3 }+ S
打开message.lang.php
0 z* A) Q3 }9 p$ i! E; [
6 j# F3 y% \% x% T8 G
找到
/ P% h' a. H# ?: V1 hCODE:
. F4 t+ ]) ~( K# ~7 h. K5 w) k: y* n; ]) G) R: R8 Q
'profile_username_illegal' => '用户名包含敏感字符或被系统屏蔽,请返回重新填写。',
( \1 s+ ~; A% `( H* [
在下面加上
4 r7 P5 b& R( v8 J1 ?CODE:
$ `, O0 N3 @& L0 D) h
3 Q8 E, P+ D" U$ M
'profile_username_nofigure' => '用户名不允许数字出现,请返回重新填写。',
9 a9 V d; _- w1 g" ]1 s
这样,在用户注册的时候就会提示不允许数字注册
8 @9 W, w4 O; z6 {
10.浏览器进程生效方法.
+ h8 k% _8 k4 Z! `3 v3 o5 V; ~
修改include/common.js
5 T3 }1 H, P. I5 i7 h- V) z/ I; i" Y
; R' H$ O" i: P2 ^4 r! a) o5 x) d- f在文件的末尾加入以下代码:
. f2 ^: C4 f% @$ u9 L; w: Z
CODE:
8 k# G! y, o T- _0 P( `
: W" b9 ?/ ?- X% A
function DelCookie(sName)
3 J' _7 D0 K2 z {
5 q1 I& p) ]' M7 L' z. B
document.cookie = sName + "=a; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
) d( d6 x" A: [ {6 b) {
}
, Z: U. t) r8 j' c* r3 ? //当没有cdb_auth cookie的时候,删掉cookie cdb_sid
# J& K& q4 G' y9 l6 t% \ if(getcookie("cdb_auth")==""){
- X P) [5 T2 Z) k! ?6 I
DelCookie("cdb_sid");
, N, R9 {3 E2 }; ] }
% l* T/ x# S2 P7 } S/ y
11.查看新帖的默认时间是多久?
! P4 w/ A6 E) S% P0 O( w
最后访问时间前10分钟之后有最新回复的帖子。
! M5 k# }/ t) q/ _3 k7 Y( Xindex.php
0 p9 X5 H! Z6 ` D1 {; d( k$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
4 X+ o! w5 F, r- d2 b+ O4 @
12.上传多媒体文件直接播放方法:
, N/ W4 d8 }% A* ?, w S a. Y1 k
http://www.discuz.net/viewthread.php?tid=173772
& n2 A8 _4 O: [8 F: M; g* |4 Ahttp://www.discuz.net/viewthread ... &extra=page%3D1
/ |* f& J$ t! {/ u
13.教你如何修复数据表 作者:深海
. `/ m. o# @- p, K- h& O3 L
http://www.discuz.net/viewthread ... hlight=%D0%DE%B8%B4
, I1 q+ u1 h1 D0 V. r* t, h" ^14.GBK与UTF8有何不同呢?
0 P$ L5 v5 \- ]9 e- {5 h* J因为不同的人需要不同的版本
8 C6 d$ B& l" x' j) b0 c$ f/ D
UTF8支持的字符更多,但是占用数据库的容量是GBK的1.5倍
: }/ v. c! t G" _7 ~8 ]
& V6 D8 q+ q+ ^% P如果没有特别的需要建议使用GBK版本
. p1 E. l4 \$ J" v* d( t& y+ `15.论坛短信不用点击可以看内容的方法
* q/ e4 V& i) ~$ j
修改很简单,只要打开templates/default/pm_folder.htm
6 N( G2 @- v9 J( \5 H0 @! u
7 ~0 b& S, p2 R8 P
找到
! z, O3 X, ^8 V6 o8 f7 [7 y xCODE:
2 d8 Y S! F* }# D9 i; J5 r
/ B# [$ M! l; y, O4 Q0 P<td class="altbg2" ōnMouseOver="this.className='altbg1'" ōnMouseOut="this.className='altbg2'">
: D. E' Y9 v; Z+ D& ~3 ]! A改成
: e' H. |7 \* z- T/ vCODE:
+ _" @. e4 R, o" N& h- j1 Y. v7 ]
( c9 ^) l& K. q/ k1 h) J<td class="altbg2" ōnMouseOver="this.className='altbg1'" ōnMouseOut="this.className='altbg2'" title="$pm[message]">
; g# P2 {& A! z+ N
16.如何从数据库中删除短信
- n, Z- L" J# D
delete from cdb_pms where `subject` LIKE '[Discuz!] test';
( y' e9 o/ a: E# O& C! C A
17.在dw中实现flash透明背
1 e* u2 m4 k6 w
http://www.363000.com.cn/Article/ShowArticle.asp?ArticleID=4384
: S& C: a2 F9 @18.快捷回复加入表情插入功能
6 B6 ?: i b6 H: ?5 n
http://www.discuz.net/viewthread ... 5%C8%EB%B9%A6%C4%DC
5 s& J9 e; Y6 V7 V0 D2 z
19.SQL报错
2 N# h/ T1 ?5 Q& v
CODE:
; s+ N9 |/ q$ M9 q1 A- c+ u% N; P! T
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
& W# F4 h. V L) }这个是什么错误啊
0 z. [" \1 A4 b( I) p
答:磁盘空间满
6 T7 f% y- A3 O3 h, m. s4 U' b
20.我想问一下,php.ini中把哪个打开就能看到报错了
' `. z2 H) O/ ^" A& }答:; E_ALL - All errors and warnings,把前面的分号去掉
; P5 k6 [. D. I0 {! E
error_reporting
6 N x" ?; { R* _$ B4 ]
display_error=on
2 A/ q% G8 ?$ G; G' |& K6 B% l: Y
21.关于phpmyadmin的基本用法小结 作者: @鑫~#
: S8 Q1 W- X$ b/ Whttp://www.discuz.net/viewthread.php?tid=1328826 c" [" D$ x+ j1 w/ @) l
模板修改篇
, u# ?/ q5 R8 h, }; j8 W1.关于在header.htm模板中添加插件链接的教程
8 R! o- ?7 E, shttp://www.discuz.net/viewthread.php?tid=126298) d/ X0 B0 A6 z
2.在论坛顶部添加banner的方法
, B% b* _, n+ k
http://www.discuz.net/viewthread.php?tid=128891; I$ h% n5 b8 e. M9 ?
3.Discuz!模板编辑详细说明
% S3 S8 L+ e/ v i7 l% J* A1 ohttp://kb.discuz.com/index.php?t ... F%E7%BC%96%E8%BE%91
! ^' [* c$ p# Y2 _7 ^) h
4.增加ICP备案的方法:
8 f1 P: _" u/ Q在footer.htm文件中加入
6 Y! a% z# V) mCODE:
4 Q5 g$ } q% F, S3 h+ T" r, ]: {& {2 Q% O; {/ n; i @" U
<a href="http://www.miibeian.gov.cn/" style="color:red;font-weight:bold">ICP备案号码</a>
8 y y8 P z7 w% Q9 j! P- G
技术相关
( }- @; _+ Y1 v0 I* j+ _) h
$ ~) N8 f* i. P9 g4 d
1.Discuz后台解析大全
; W9 b) E6 M" o1 p. R
http://kb.discuz.com/index.php
( O3 l2 P, E: o ^- E' y0 r9 [2.PHP文件上传
2 i1 I6 x* ]( z0 G8 Nhttp://kb.discuz.com/index.php?t ... 6%E4%B8%8A%E4%BC%A0
% v6 b, g- X, P
3.关于phpmyadmin的基本用法小结。 作者:鑫~#
6 A5 ^0 c8 X1 o5 I5 J$ K! _
http://www.discuz.net/viewthread ... &extra=page%3D1
+ f, t# F4 E' f3 ^转换相关
" n& O! k: Z* J5 ]/ @9 b, ^7 J" I1.动网转换到discuz详细步骤:
+ }% A C4 ? r9 C' V, M" Nhttp://kb.discuz.com/index.php?t ... D%AC%E6%8D%A2#dvbbs
6 v$ F2 a: H+ K; @8 }: ]# @ i
2.Phpwind转换到discuz详细步骤
6 j$ ?2 p' W, T+ G0 _) w5 k1 [
http://kb.discuz.com/index.php?t ... AC%E6%8D%A2#phpwind
+ w9 F$ ? z1 m' p3.Vbb转换到discuz详细步骤
6 w+ f& y e9 @8 A! B; X
http://kb.discuz.com/index.php?t ... %BD%AC%E6%8D%A2#vbb
0 S* b' n3 d* j
其他相关
: I# @/ J4 q& b' \* ~8 H7 [: j
' w1 T, w; S! O1.傻瓜式Apache+PHP+MYSQL安装程序
2 R. {* n, B2 I1 @3 }% U( ]# Z
http://www.discuz.net/viewthread.php?tid=120023 F3 ^0 N {5 i; Q. J* a+ t9 l* ~
2.关于登陆后变游客的几种表现和解决办法
/ V2 }" m3 T0 _! s$ X
http://www.discuz.net/viewthread.php?tid=125262
6 G, @; e- v; Q* d/ W3.论坛“搬家”全攻略
. b* p/ k) t. `+ z7 ?2 Zhttp://www.discuz.net/viewthread.php?tid=127977
- Q# W& K* w: s# _5 v( ^3 W4.一个不错的MYSQL数据库备份工具
. D& A: t8 s, E# @
http://www.discuz.net/viewthread.php?tid=128844
7 ]* d! o6 L7 c' |! T8 Y* D5.最详细的WIN&LINUX PHP+MYSQL+WEB配置指南 作者:AsIwish
# R3 d# D8 u) v
http://www.discuz.net/viewthread.php?tid=130664
; q/ e1 f. i& b6.防CC攻击的简单方法
1 c/ Q1 o2 U" q对于RC4及以上版本 在config.inc.php中加入一行
2 U3 Y2 f( o) g, u; Q- K: i$ m6 q8 Y1 }
$attackevasive = 3;
, f, z" x) h6 x( X2 S7 g( M0 ^& D
即可有效防止由代理服务器发起的CC攻击
( o% ]2 D) B& Y/ Y
其中1为开启cookie刷新限制;2为禁止代理访问;3为两者全开
/ @6 ^/ H% n5 F4 s' @7.在新发的帖子前加new标志
- {1 t) ]. x; O8 A6 w我想在每个新的帖子前面都要标有new的标志,能现实吗?
$ e( E! X C( u7 m答:把firstnew.gif图片换成一个带new的图片就可以了 根目录下的图片目录中有
! J* m3 h. |7 _! S1 S' q! S
8.转换完成后,只有主题,没有回复会是什么原因呢?大部分帖子就没有回复?
3 j0 i' \. ]( C5 {
说明主题表与posts表不同步,可能是原来数据就这样
! }: t: z: F2 n" Y
CODE:
8 x' }7 P* ]4 u5 x7 U9 m& m8 C
. b: U* h5 b# e6 c) ?+ U L3 nDELETE FROM `cdb_threads` WHERE `views`='0' AND `replies`='0';
% S; M+ W$ {7 x% P( Z5 u( @6 \! A
在后台执行这个 执行了,也更新统计了,但还是没有回复 不行的话就修改转换程序 把
; m7 u1 z$ n" Z6 i3 Q- _0 SCODE:
Z5 V% a; c; C$ z& y* A- ~
3 d9 b7 n: k& c3 C5 ^: W
$many 主题参数/2
. J: X& _3 Q$ ?1 e- J/ J去掉
- m0 ?7 f3 N3 v9.修改数据表前缀后,又出现
# \9 B( w8 A3 h& j$ S oCODE:
+ u9 m' h) s' ]3 o1 u/ q1 Y5 N. ?" l4 s( `* q& T
SQL: UPDATE cdb_2settings SET totalmembers=0, maxavatarsize=maxavatarsize*100 Error: Unknown column 'totalmembers' in 'field list' 这样的错误,是什么原因呢?
. `! _" ^6 J7 w% g g6 {9 Q( }
答:如果用户修改了数据库表的前缀,必须修改升级文件,把cdb_修改成用户的数据库表前缀,如cdb_2 等之类,全部替换的快捷方式是ctrl+H
6 G$ T A- `5 h i1 F( p10.把所有会员的现金统一改为1000000,威望为0。怎么写SQL语句呢?
7 N; Z) g( t- g8 b& E l* P答:
. m& a9 x5 @) c, x: eCODE:
1 y8 V' l8 I$ }- O
1 n$ U2 C4 q2 D6 s4 L# {
UPDATE `cdb_members` SET `extcredits2`='1000000',`extcredits1`='0';
4 A: t, w% K0 ]0 G11.积分和威望同时等于会员的发帖数,这个要在后台怎么写SQL语句呢?
. q' X7 }% o% }. s
CODE:
" f' @# C+ N* U6 `- Q# M
$ S& }5 G8 _; q7 J; IUPDATE `cdb_members` SET `积分字段` = '金钱字段'='posts';
$ [$ H8 r8 L$ I% L( |12.数据库与程序不对应
; ?# M! j8 H- D! h- ?由pw转换到dz的时候,转换第一步出现Column count doesn't match value count at row 1错误提示,怎么解决呢
' C2 W9 C9 p9 b8 N* V( V' J答:原因是数据库与程序不对应,比如用rc3的程序,访问rc4的数据库就会出现这样的错误。
/ I, D3 L# U3 x) s0 I7 h) d
13.报错,错误信息如下:
9 z v7 w* Y2 @& j/ w3 y
CODE:
( \* L; N0 P, V _' x! F8 y$ ~
. Z- r4 x4 m6 d7 T7 p5 A
SQL: UPDATE cdb_members SET extcredits1=credits
( h' H4 ]* Z7 m1 K1 ^9 SError: Unknown column ' extcredits1' in 'field list'
5 Z* G% h. ?8 r0 R: J
程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖
0 Y8 t8 M. K0 K答:在cdb_members表中没有extcredits1这个字段,加上就可以了
, y( t% l. e8 S5 Q, Q
14.从pw到dz转换完成后签名解析不了怎么办?
1 h6 C: f5 i d6 V" N" H0 K; t方法是:登录论坛->用户控制面板->编辑个人资料,什么也不用改直接提交就能解析了。
2 I) K$ p2 ?$ I+ P
15.2003错误是什么意思
8 ]9 o. k# g0 k( S8 l
CODE:
9 S% b% P1 n* g/ s! s
+ o$ M- t. M) _& e2 H8 oError: Can't connect to MySQL server on 'localhost' (10049)
MySQL服务没有启动,请启动该服务 Similar error report has beed dispatched to administrator before.
9 E" [7 \% D2 f: S5 O2 B 除了连接不上mysql服务器这个原因外,还有其它的原因吗?
# b# C: Z$ z1 u) o答:另外一个原因是mysql的默认端口是3306,检查一下你的config.inc.php中的数据库用户名和密码数据库名是否正确,或者 好了,解决了,你们怎么默认不连3306,我现在强制在localhost后面加了个:3306
& z' s* c& s' T" L
16.我的论坛上面的客户是注册客户,我想把他改成金牌会员,在后面设置也成功了,前台也显示是金牌会员了,可是过一会就又变会注册会员了,?这个是什么原因
0 }( A4 q* C& x5 O- h5 e- m5 [- U6 a答:需要修改这个会员的相应积分
$ J2 o! _" o K, k, Q+ p# l1 B$ Z17.注册页如何只显示“必填内容”?
' W9 y- R6 y+ {; P0 v; h6 v
只显示必填内容,下面直接就是提交。“选填内容”和“论坛个性化设置”隐藏起来。直接在模板中去掉好像不行。
. R+ Y( ]0 s# M4 J8 p' ?答:可以去掉的,用js或者直接用样式display将非必填的单元格设置 style="display:none" 也可以“去掉”的
, g/ O, Z$ z, k3 a7 o18.通行证启用,论坛相应功能关闭,有办法解决吗?管理员进不了后台了
8 k# ?5 w3 [. V" p9 }7 P
答:运行下面的sql语句就可以了。
* M" w1 x" s. s
CODE:
+ |4 m; q+ c0 h5 W
; ~8 D3 a$ `3 i5 J! ]: P$ O* ~
update cdb_settings set passport_status=0;
2 S3 k' N+ d. D: }: y3 `( i9 A19.邮件不能发送的原因和解决办法
3 Z2 ?( W1 Z" y3 s9 V文件:include/sendmail.php
* G# ]& v& F0 Y. n# [: y
+ k8 T* u: u. Q2 ^9 v, N查找
, M2 @9 c4 n+ Z3 W" _CODE:
! `% V, Y& v- y. n. E$ J" g
- |* W$ y$ a8 ~
fputs($fp, "DATA\r\n");
+ c- p8 L! K0 ^ J在其后添加
( Y5 h, ]7 A( C* @4 ?# g
CODE:
& Z& \% w' y ~. c
3 z) q1 ~/ b! x* m
sleep(1);
5 w1 Y* a2 P/ u) r' E) f作用是暂停一秒后继续运行,如果1还是不行,就改成2,或者是3。
9 A( e% P& S8 ^
/ q" p1 l0 \" E& k$ N9 [8 v9 C
关于论坛邮件系统的说明
; {* `/ V& G9 U" F5 v8 ^* j
' |1 F- ]8 O) ~邮件系统能不能正常使用,是由两个方面决定的
) P* p8 u& v6 N/ ?9 O( ?5 l
* P( l. T: E" |1)本身服务器是否支持发送邮件,不同的服务器对邮件发送的支持也是不同的,你可以根据自己的主机来配置论坛根目录下的mail_config.php文件中的$mailsend变量来决定,具体配置见下面的代码
3 Y& D7 u, W! O8 o% I: |5 BCODE:
?0 m' J( v" R, `+ ~* B& t0 q1 n5 S) ^
$mailsend = 1; // 邮件发送方式 0=不发送任何邮件
! {3 H) u+ P5 [0 _- l
// 1=通过 PHP 函数及 UNIX sendmail 发送(推荐此方式)
: B- r/ T+ v, t& F" I
// 2=通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
5 f. `$ S2 |- s! V9 `- a* U6 y
// 3=通过 PHP 函数 SMTP 发送 Email(仅 win32 下有效, 不支持 ESMTP)
: s! r* q7 z& L: A' T
如果你不清楚你的服务器是那种类型,可通过 utilities/testmail.php 进行测试,测试方法如下,把论坛压缩包里面的utilities/testmail.php文件打开,把里面的
! p( `# z8 l( B5 G2 zCODE:
2 `9 J7 ~ v% ~0 i. O' a2 Q
) p8 o! ^. x9 h7 L( M$from = '
my@mydomain.com'; // 发件人邮件地址
7 K$ I: \7 y, q$to1 = '
test@test.com'; // 测试单一邮件发送地址
w8 e& X/ h; L' Q/ r6 E
$to2 = '
test1@test1.com,
test2@test2.net'; // 测试邮件群体发送地址
. r d. p7 r. h2 @
这个部分进行配置,然后传到服务器执行,这样如果服务器支持邮件发送,那么你填写的地址将收到邮件,如果没有收到邮件则说明你的服务器不支持邮件发送。
$ Q# i2 f# }2 l! Y; N. y
* Q7 P6 V) ^: ~, k: O. h# X如果你的服务器不支持邮件发送,还有一个办法可以实现就是申请一个支持邮件发送的免费邮箱,然后在上面所说的配置论坛根目录下的mail_config.php文件中的$mailsend变量中选择2,然后把再在那个文件中找到
; Q1 R0 x0 {8 p i; z* pCODE:
. [+ U2 T4 V- r& B
- H6 ]5 \- N; Z; S, p, e( W/ H
$mailcfg['server'] = 'smtp.21cn.com'; // SMTP 服务器
. y5 t/ J( q( m
+ D9 k0 r6 x1 g3 t" m$mailcfg['port'] = '25'; // SMTP 端口, 默认不需修改
W6 ^: Y2 r; p% j
2 W6 ?3 F% X" g% [/ W; @ j
$mailcfg['auth'] = 1; // 是否需要 AUTH LOGIN 验证, 1=是, 0=否
/ A7 T3 ]. \8 G8 `& P" E; U
. s5 A0 O0 z( @2 y9 X- d" W$mailcfg['from'] = 'Discuz <
myaccount@21cn.com>'; // 发信人地址 (如果需要验证,必须为本服务器地址)
1 Z2 F) G$ s% i' z( m
9 W1 \ z9 _6 z& F L! H0 n1 l$mailcfg['auth_username'] = 'myaccount'; // 验证用户名
3 D# ^* F- z. Q8 U: k& F K
7 g0 m9 L. }; M
$mailcfg['auth_password'] = 'password'; // 验证密码
3 ] n. p, ^! W3 {根据上面的信息解释,填写好信息,这样就可以发送邮件了。
+ O( ^1 J8 y) `2 Q
; P6 f! F5 \9 y3 O做好上面的几步,基本上就可以正常发送邮件了,如果你还是不能发送邮件请往下看
; V+ ~' g- q v3 W5 T# k( f
% c6 r( R3 e' _" T
2)决定邮件发送系统是否正常的第二个因素,这个就是邮件接收方的问题了,现在市面上大部分免费邮箱都有防止垃圾信的功能,是否能收到信要看接收方是否能够通过认证,有时候没有收到信很可能是接收方的邮件系统把你的信件过滤了,如果出现这种情况你可以统计一下那些信箱不能收到信,然后联系这些提供免费邮箱网站的相关部门,说明情况一般就可以解决了
: `( a0 r7 @+ D1 h6 o+ _3 b
20. 限制游客不能看帖子内容如何设置呢?
$ ?. N; h* Z. Z3 T; r! b
我想要的是进得去版面且看得到列表,但是看不了内容!
8 S: V& J$ |6 Z' J" [" m$ \6 o$ `8 z8 E
而且点击版面名称进去之后是提示只有特定用户才可浏览!我想要到的是游客级别无法浏览...
& S3 I" w6 i2 P1 o/ N& _' p4 z
8 ]1 ^8 J7 `7 \$ J+ o方法1:后台--用户设置--用户组编辑--游客(Guest)--[详情]--允许浏览贴子--选否.
2 t$ Z D$ V( `5 k2 j" D2 \然后进入给游客浏览的分论坛
' y( X. x& P- h5 ^3 x在编辑论坛里把开放的论坛浏览项全部打钩就可以实现了
; P! [+ f" _# R, G& _
. s+ V9 L. M! ?1 M) F F
方法2:
! ^6 L! N# ^9 \
后台--discuz设置--显示设置--隐藏无权访问的论坛(默认是)--选否
|1 ~- [0 e# Z0 b7 g% N后台--用户设置--用户组编辑--游客(Guest)--[详情]--允许浏览贴子--选是.
0 x7 a9 g- c3 l4 L3 y
后台--论坛设置--编辑论坛--把限制的论坛浏览项允许浏览用户组打钩
~+ v5 Y8 k( M6 ?9 H21.支付宝账号激活说明
( F( S/ N4 @5 x2 O8 z: ^, O1 V
http://www.discuz.net/viewthread ... &extra=page%3D1
' R* M- [* y5 z5 X22.支付宝使用完全图解 作者:童虎
% \" {6 N6 A: _
http://www.discuz.net/viewthread ... &extra=page%3D1
9 Q0 q ?) U8 V( }; \
23.Discuz! 4.0.0最新发现问题及相关解决办法
% @$ Y( k% ~0 c) C. l& rhttp://www.discuz.net/viewthread ... &extra=page%3D1
, w# u# b- D# o+ a( L" z5 A
24.不同MYSQL版本数据导入问题解决办法 作者:童虎
- O( ]& u; ~( L: u5 I0 h! h0 bhttp://www.discuz.net/viewthread.php?tid=142050% e+ G3 h- N# f
相关工具
4 |- G- d0 T/ @2 v) Z6 G
工具一:找回管理员密码 作者:童虎
6 j4 j2 T- G8 |. f1 W# m
http://www.discuz.net/viewthread ... &extra=page%3D1