|
|
, b+ M" b% h# G8 f& i( \' ^4 Q 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 错误% q! @% h' D( N1 d
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
; i( \3 c" [# P+ E5 F; F, o- a 1)将function gd_version()改成static function gd_version()即可。2 S1 q9 F4 p) k
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:7 B7 }, Q7 v9 \$ }% T0 [0 d
$p = new cls_image();! t. s$ w' }) E+ F; h
return $p->gd_version();
- j5 b+ @ l6 U/ M) u2 W; l1 ? F5 ~/ V0 n
9 S$ l# W9 E9 F" K- H
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
' K# n$ z( _8 }6 n! R安装进程已中止
/ H1 D# r) Q+ V" Z创建配置文件............成功
7 f( K3 _* m3 z1 `' [9 N: z( Y6 p创建数据库............成功, q/ v# W9 n" n1 g/ S
安装数据............成功: G5 O+ U4 R. c7 X! o0 p, a; r
创建管理员帐号............成功' a$ q+ |# k; Y8 R% U7 S0 A: Q- V
处理其它............失败
) k! `. z) H: Q2 G1 h9 @' W# m8 l; l# h: u
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528$ d: Z& y) a% X. x) P( w8 V0 c
无法创建目录,无法创建目录
6 c; q7 y, g+ x K9 `4 t$ X解决方法如下:# \! v$ c3 _) V/ W
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
. {2 G& S3 X8 s% \/ ~# Y7 B(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。2 l0 z9 F/ l$ r' d; u( R
不安装测试数据库一样可用,一样正常,不是问题.....
; P7 d: f T2 g) V6 J3 E愿看到此文章的朋友能解决问题; 8 K# _5 e( I( P5 J1 l4 x
9 F/ {5 B: a" b0 m% e# f' Y9 d# \
' c6 s; [2 t; J0 c( z, I, Kecshop如何解决includes\cls_template.php on line 418错误 Y" t. j o# r( Y' V6 y
5 c" [7 m! n; m/ H$ K之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:( d# T/ {- l- p% x5 L+ k6 `
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
, B) n* w* [# L( D! r0 K, l5 A& f第418行:$tag_sel = array_shift(explode(' ', $tag));
" R: d5 f# x! ?5 K* j 4 M. L. A- {3 l3 Y9 D
解决办法 1:. `* c0 Q) { t3 ~8 {% [4 ~0 L# ~
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: ' W# `& \2 |* q$ H) t* o
! I; \, z& Z3 w) O% L- F: X4 e$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
m2 a6 I. w$ c(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值, z m. d; ~5 ~5 u
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
$ s8 m" P6 t3 X$ j 5 }3 {2 i/ P. D; h0 _- \
如:
, E: o n* U3 n; H5 Lfunction get_dyna_libs($theme, $tmp)
9 h- M" H2 E% ~7 l, H- k8 l{3 l9 F) @8 h0 _. \9 o! F- J
$extsub = explode('.', $tmp);
& c# h2 {- e+ `# R/ v( j5 u$ext = end($extsub);/ N( w, w3 u& T( W
$tmp = basename($tmp,".$ext");
$ e1 {5 m7 J0 L* V+ ^$sql = 'SELECT region, library, sort_order, id, number, type' .5 N! Q0 E2 x* d0 F& x1 ^# x, P
' FROM ' . $GLOBALS['ecs']->table('template') .
+ ^9 C0 v6 p' G& z! h8 D" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
" }" M, L: {. U, [" G' ORDER BY region, library, sort_order';) J6 ?$ g& m* c P
$res = $GLOBALS['db']->getAll($sql);5 ^/ R+ |$ r6 |- t
$dyna_libs = array(); v2 y- @) M$ Q
foreach ($res AS $row)
& R. B) y4 `# _# m% M& R, P, Y6 R% T" C+ X{
W# R0 `, f) s$dyna_libs[$row['region']][$row['library']][] = array(0 l6 [% G4 V2 a, w6 M. c+ y
'id' => $row['id'],
& S9 q5 i4 s# N- S'number' => $row['number'],7 j/ J& r* _4 k1 F2 k9 ]
'type' => $row['type']- O/ k" L: c+ c2 S" K) p' H" N
);3 A* M' K' J5 s; D
}
# j% U: _+ X; W* }return $dyna_libs;, q* C" N9 s/ H+ }. s. d. k" a8 T {
}
+ D8 _4 x: T* y% t4 X
8 e, w( O# w; I1 q将$ext = end(explode('.', $tmp));) Q! g8 y! n) B4 y
改为
; A4 F. J, L( Q( A8 g6 A$extsub = explode('.', $tmp);7 T, l) {# u0 @* |9 l' H- A# ?4 }
$ext = end($extsub);, k7 ^# g/ z6 D
- f* t- g/ Y1 Z% u1 \; X! ^
解决办法 2(屏蔽错误) :* T$ Z1 R3 M, ~9 t7 h3 Y6 X
! k( [) d* h, @+ G5 b8 y
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
+ i1 ?' S0 l( g7 v9 P0 J Gphp.ini中有如下设置:
1 O% t0 g# W: ]+ k( N3 D; verror_reporting = E_ALL | E_STRICT9 S E& s" l0 s2 Y* L
q; N5 z" X7 U [. E' x1 H" l2 d这是说,显示那些不符合编码规范的警告(coding standards warnings)。
" K/ U: X K9 `, G/ FJoomla其实是建议取消error的输出,如果出于调试需要,应改为4 S7 L# H5 D5 T% H
error_reporting = E_ALL & ~E_NOTICE" R4 R- p1 M) ~ r6 L/ w
% V' l0 \3 Y4 n" e: c问题得到解决。
" Q( }" r& n' O% V: b) J H
: o8 @% w! j& Z3 n$ r P `
* u% H6 ~; R- U# O% gEcshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line2 [0 l: L' z2 t+ o3 u: E
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
# ?, a. U% o/ L+ l* k) j! Y改为 :
0 ^& W$ e" P6 J$extsub=explode('.', $tmp);$tmp=end($extsub);8 m) r4 n/ j# h [6 y$ x$ o
' I) L( A0 `* r" B3 C |
|