|
|
# i8 l" P6 Y, I- x2 @
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 错误' f! J/ u- W, I' @
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:$ A% l9 H/ X6 Y$ d7 H. M/ P2 G
1)将function gd_version()改成static function gd_version()即可。4 }8 M- \# N4 y: x6 G, w: U N8 R5 `
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:2 R5 U0 W! o2 z
$p = new cls_image();
9 R# F9 U) o7 P- f! n- v) p6 vreturn $p->gd_version();( n! X6 y2 I+ w* l- B0 j
% M9 F( s. C* s9 y; r
1 y6 E E" o* ?( S下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:8 i( f7 _- K4 m `) r# c7 Y
安装进程已中止$ G( ~) w% K6 A3 r, c& i' y
创建配置文件............成功
8 Z! Z: F c! b) e" H3 x创建数据库............成功' N. V! e- c" P! P* O; d ^
安装数据............成功
& c" o9 H& K7 W创建管理员帐号............成功; |) k% t8 v6 Z. y: Y, y+ ~0 R
处理其它............失败
' X8 W6 A5 W2 y, ~/ w+ h8 {3 @, B3 @5 ?
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528& X6 e* ^( y! e1 n7 f5 |' @3 w& i
无法创建目录,无法创建目录
5 D- j- ~, `% z/ U. L; r解决方法如下:
9 b8 L! z: ?2 D U点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: + H2 q" F- {! k7 M+ D% m
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
# y" t& d* h; M不安装测试数据库一样可用,一样正常,不是问题.....
8 j. X) \* D4 x9 Y( i愿看到此文章的朋友能解决问题;
( {. Q# c3 U# f% S/ g3 A# b" V6 c- | D4 S( c, d0 z( Q
Z1 { X7 J7 C7 x1 becshop如何解决includes\cls_template.php on line 418错误+ R$ W' w+ K0 [- ? ~- D ]
( J! n5 L% O. q8 c; }之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示: M" g- V* b; T
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
) m& S9 M( H, S$ n6 I7 `1 k) r第418行:$tag_sel = array_shift(explode(' ', $tag));
# s/ y L" X O9 u% u2 g1 o. d/ A : R/ E x' v% @1 y Q( l i
解决办法 1:
. ?6 O; }2 e1 R1 t2 h! H7 |5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
+ `' T6 K0 h$ z+ q! @
, E) S1 j. i, X1 e0 `$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);! X7 R, S) V; |! T: C& f7 u X3 x5 \
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值6 h9 ]- [4 W2 r8 a, t, _
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决 M7 b- u3 H/ w' D
9 \3 z1 R4 C- P7 F- M
如:
* [! _5 O. S+ W4 t; Y' y6 hfunction get_dyna_libs($theme, $tmp)/ n9 m7 y7 D: ?1 x4 n
{
6 L6 n C4 r7 C t2 i$extsub = explode('.', $tmp); a. I9 ?/ ]4 a9 A- j+ A; d
$ext = end($extsub);9 |5 r2 t) j1 L# W
$tmp = basename($tmp,".$ext");
8 u6 k5 b, ?* e- W: i7 [$sql = 'SELECT region, library, sort_order, id, number, type' .: L) ?. {, S( v, k( g- E" B% H
' FROM ' . $GLOBALS['ecs']->table('template') .
' _5 i, C5 g" x# M" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".# I0 w; G0 p( P
' ORDER BY region, library, sort_order';4 ^4 R& b. B9 y8 G- D8 V
$res = $GLOBALS['db']->getAll($sql);, I1 O0 L" T( [6 ^" _
$dyna_libs = array();
1 c2 K9 c! S" R5 o$ i; m5 ^foreach ($res AS $row)2 H; L4 b$ \5 m
{0 \; k9 N, Y4 d8 u9 R, ?3 c
$dyna_libs[$row['region']][$row['library']][] = array(2 |) Y: Q7 d, R( e1 Y
'id' => $row['id'], r& s6 S- N6 j+ R& a
'number' => $row['number'],
) V; ?2 d# ?" D2 D% o" d' ]'type' => $row['type']$ B. U# U- N1 b v( a# k
);$ F, H& i' O! j* `! F
}9 a' _" c/ s6 m: Z
return $dyna_libs;3 i# i8 V- t1 O: h; G
}
3 T7 ]1 x/ s- Z: d
+ O8 p) }7 G, S1 l9 j2 R将$ext = end(explode('.', $tmp));! H; b. g; F7 h$ R
改为! z( _; g4 ~0 C9 v
$extsub = explode('.', $tmp);
% i4 e4 h4 c/ \3 U9 p$ext = end($extsub);/ f, e; O! H" h1 H% M. m+ S. u
9 ^' D: n8 [6 ~, Q解决办法 2(屏蔽错误) :
8 R) S: e; a8 U) I- Y6 U3 p0 J
' X" C4 d2 g2 x) Q" X/ y或则如果这样配置的话: error_reporting = E_ALL | E_STRICT5 L5 r5 a" D, o3 p8 H* E
php.ini中有如下设置:
9 d/ w- \' w# B8 \error_reporting = E_ALL | E_STRICT! `& v9 R3 A4 x, O; k6 A/ X! K9 d, P
. v- n, n" T" H4 ], v& f! U这是说,显示那些不符合编码规范的警告(coding standards warnings)。" A* J) a0 d- O6 i: z( o9 b
Joomla其实是建议取消error的输出,如果出于调试需要,应改为2 G' R) W6 N0 g a0 X+ f
error_reporting = E_ALL & ~E_NOTICE
% n8 S Y; L0 w. T* S1 U% U % C$ h" X0 G; N
问题得到解决。
1 b1 i/ {2 J- j7 ?6 k
- J0 v" x' n6 R* y6 P; S$ V: w* D% q- l3 m& T
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
. s4 Y, J, W. j) g5 x% fphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));7 z! R4 z. Z" _# T. G* d
改为 :
% H' g8 B% |( G! T$extsub=explode('.', $tmp);$tmp=end($extsub);, u% T" Q. X" O1 V6 d% Q! C) ^
8 U* C8 e1 ^; g5 F* x5 L1 p
|
|