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