|
|
% r! d9 |6 |1 u; i* u 1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\www\ecshop\install\includes\lib_installer.php on line 31 错误
; M6 z$ k8 |" f& p 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:6 l/ _$ ?5 b0 k8 x5 }1 Z' ?
1)将function gd_version()改成static function gd_version()即可。
0 X0 Y/ B s- {& R- J/ U$ C- o 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
) E$ U: V. Z' x1 K$p = new cls_image();
l( m4 o: p3 y* A! vreturn $p->gd_version(); c9 w* U; {+ T* ^' ` E1 C
7 y: Q' B! ?; ?+ j; _- ^9 @; a
, F, ?5 d4 j: C4 @% R
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
* G! s* H1 [. z# I2 |5 U' u3 z- U安装进程已中止
0 `; j* `2 | j( j6 N' z+ `( A5 w创建配置文件............成功' |- d* q, s" B8 N
创建数据库............成功) b4 y- D2 q Q/ Z; p. h
安装数据............成功# P( V+ O$ M4 B3 k# Z9 A1 H- F
创建管理员帐号............成功% d& C5 t- x/ l1 C
处理其它............失败; s" l4 j% e4 S' w; r
3 h+ T \: ?, I" z" D6 C6 @
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528% D; A% t8 G' P4 d3 _! h
无法创建目录,无法创建目录" i6 p: z2 b' Z( e, p8 n
解决方法如下:; J! v: d: A7 k7 s# N3 k
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
" G+ Y5 l: E3 z: ^& t(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。' E8 {- c* m* Q6 [8 l( q' }* G
不安装测试数据库一样可用,一样正常,不是问题.....! A- I% M6 t; @0 Q! y: d
愿看到此文章的朋友能解决问题; ! W$ I; S# I; T6 n s( u9 r
$ s1 ^3 g* c+ G& f; M' ^5 D8 j
9 y8 Z: ?, p" k, G0 Decshop如何解决includes\cls_template.php on line 418错误2 S' D6 }, e ]8 R
1 W9 X: x2 W4 v- h1 i' H0 F/ H之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:
$ h5 L9 n7 i. }% _. F6 hStrict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 4186 `# M) n# R2 z" y. ~2 b* W
第418行:$tag_sel = array_shift(explode(' ', $tag));
" e* F6 O; ^; _4 i ' I. C H, w+ L, c/ u. a
解决办法 1:0 \2 `& z% O+ J3 T2 F
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
' z8 Z3 t( m/ P. l! y ' h2 q. e. }. l1 l# k' m
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);9 m" q) h7 E* s) D
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值; z7 g7 t: q( M, U9 |3 b( e; J8 L
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
' G; M/ F- f: a) `# i8 D$ M( Z0 D
$ X3 M& r# ^ r2 `' G% J如:) _) D. Q% Z5 E4 ?6 g0 j9 n7 Y( U" r5 k
function get_dyna_libs($theme, $tmp)
7 x% i# P4 c* _# \{; c% v: w+ y! ?4 `* a% h' V
$extsub = explode('.', $tmp);% a" @* N0 N3 b2 K, G R
$ext = end($extsub);
; L- Z4 \3 Q) @. d1 _' H$tmp = basename($tmp,".$ext");
- P! C9 |4 F' ~: K9 r$sql = 'SELECT region, library, sort_order, id, number, type' .
$ N; S p" I6 ~; |+ ?2 r' FROM ' . $GLOBALS['ecs']->table('template') .( _! y0 @; w1 A# C3 k7 q" D" u
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
: x. D- [: ^/ A( G' d% e- X' ORDER BY region, library, sort_order';
. ^ o4 M. P( t2 ^$res = $GLOBALS['db']->getAll($sql);
V! |( l( J! w- q0 Y0 J! ]$dyna_libs = array();
, @- y. B; ?! i3 r mforeach ($res AS $row)% I, [: r) P* S; l
{
4 e6 J. Y6 q( ^& i/ J# B$dyna_libs[$row['region']][$row['library']][] = array(
: ^ R% \5 g- c: W2 X# m- ]7 W'id' => $row['id'],
# |/ |) C1 G% c }/ ^'number' => $row['number'],
& `7 h- w9 B; @'type' => $row['type']6 n7 c, j4 r/ H4 y0 O. E7 ?
);3 n c, d, B- @9 f* D4 u
}* D/ U6 j9 n/ ~: K ?
return $dyna_libs;) L h) C& u: ~
}
g$ o" O2 L9 Q* ~, H4 W8 t+ E / o# @: p7 {5 g3 d x
将$ext = end(explode('.', $tmp));+ V( N# a, q, s; R7 Y
改为" C' @4 g& B0 `# s, L- E
$extsub = explode('.', $tmp);
- X" y$ V% `- `$ext = end($extsub);7 G& p6 g J! s- q
H, Q! {6 A* O& k! U3 v" C
解决办法 2(屏蔽错误) :2 |. }# A3 @* m. f9 Q! G4 g
7 E* u& E3 B' b7 X5 p或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
2 d! o, q9 k2 y3 J( u0 z# `/ rphp.ini中有如下设置:* n2 O8 O! O( b3 ]4 H: @/ ~
error_reporting = E_ALL | E_STRICT1 E- S/ A7 k0 {4 U) t7 U. m; c
. N# b6 }& c* ~, ~0 r! k% i
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
7 k- v5 o4 }- G% k* `Joomla其实是建议取消error的输出,如果出于调试需要,应改为
+ Q& K. y% c6 h* `error_reporting = E_ALL & ~E_NOTICE6 p. l) v5 Q$ }# t% E V
6 g8 }% [3 f: E! C4 Z问题得到解决。
- C5 f* l/ q) ]/ l( J/ L" B8 X* l$ [* j8 L/ f
9 V2 f( h4 Z ]2 G: XEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
# J9 v$ w- Z) L5 Q% Mphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
. Q) Z1 S. ^4 |5 ~% K0 ^! [改为 :
) D; `6 H7 h/ D! r8 }& E1 U, X$extsub=explode('.', $tmp);$tmp=end($extsub);. H. [5 B& r$ c
( o. ^7 K/ I. B+ a4 }
|
|