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