|
|
& v! k) }; G- a; E' j% C4 v 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 错误
2 p% ]/ r# T [ 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:) d. C8 x! p: r5 D
1)将function gd_version()改成static function gd_version()即可。
% v: r4 {6 e5 G: q& C8 c 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
; U0 @3 X/ ~/ Y5 q" o$p = new cls_image();% n: s' t5 @, n: h8 e" |
return $p->gd_version();
( c2 I$ _- l( C7 Z& p3 b1 S& }
- |5 M/ m2 k# e' ?( S- L2 j! S% M* y) g2 m+ F) d% w0 U! l
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:& @0 W {% K6 {" D8 {4 g8 e, [' l
安装进程已中止3 s- X8 Y2 |: J2 L/ O
创建配置文件............成功
; J; r2 K) q( F3 X1 G' o创建数据库............成功3 k# C! `9 a. L1 m* ^# K" m3 O2 v
安装数据............成功. a) f6 y8 y5 j n
创建管理员帐号............成功
+ q2 e& i( S6 N5 H7 x5 H处理其它............失败
. x; }6 J8 s8 A+ k0 g. T- [- z3 S R" [) i! Q
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528% i& L1 S5 ~3 L* W; u( G3 ]
无法创建目录,无法创建目录
. Z+ \. H$ X: ]* B; V" y解决方法如下:
+ B7 E/ Q) [1 ]8 c点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据:
0 x( J0 o) R( Y5 R- A9 q(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
8 E4 H, V: t$ H4 ^/ Z2 ]+ }不安装测试数据库一样可用,一样正常,不是问题.....
7 k7 S) c% Q9 G0 ?- W% ]1 B$ O愿看到此文章的朋友能解决问题; / E' v1 y m8 [( {6 [
% W1 u* Z- G7 i" b Z
$ Y5 @" x9 X8 G) Gecshop如何解决includes\cls_template.php on line 418错误
. m0 B* b" w. u2 O& R2 ]9 U
* ^) D" B. {0 s; r( R之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:& e' t$ z5 o; N, c% c* a
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
: r# u- O# o1 J$ n第418行:$tag_sel = array_shift(explode(' ', $tag));
( @+ A6 ?% w' \8 [9 O9 Q* I
- T9 O- ]+ f. b. @2 Z" M解决办法 1:% K8 F" Q l1 B3 l! U5 ?3 L
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 8 [. m4 T; l% P) d. N
2 O: w3 o- _$ o' r1 r1 K% i" H$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
( [0 c; }5 n/ H7 F* N$ C(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
2 j) H( {7 l0 N+ t- z/ ]) T同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决7 n; i/ M e6 l4 p0 _: _
& I: J/ [9 I% k
如:* }4 x- i5 V( z9 j
function get_dyna_libs($theme, $tmp)
' G9 k: i& G+ S4 D0 }! v2 r9 V( r{) O* u; |( h4 H9 g( g8 w; n4 [
$extsub = explode('.', $tmp);
; x$ v6 L1 i& n. N& l9 e$ E$ext = end($extsub);
0 w0 O* ]8 n& o- B$tmp = basename($tmp,".$ext");) S5 }) O6 J. Z p, W8 \6 ?: T
$sql = 'SELECT region, library, sort_order, id, number, type' .6 k% R! o5 O8 p; l4 p4 A' T
' FROM ' . $GLOBALS['ecs']->table('template') .
/ M0 p" ~- z. t7 R$ N- N; b. d" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".- J- {. i+ a0 `
' ORDER BY region, library, sort_order'; ~3 `$ }( a* m% d3 N+ Q; B9 ? n
$res = $GLOBALS['db']->getAll($sql);
5 ?( C3 o4 {, I! Q- j$dyna_libs = array();
@$ Q ]( H8 `: {6 g, N% jforeach ($res AS $row)
- p- `% s% C7 y6 U{* \" ^' y6 k: [
$dyna_libs[$row['region']][$row['library']][] = array(
+ @% e& A$ ]& W1 Z4 W9 H3 K'id' => $row['id'],
" V: E3 _& l# c; U K'number' => $row['number'],
1 A# m& `( T; _# x'type' => $row['type']
?( a& Q8 w' s/ u! B& N);
3 L* X% r7 m! q+ `, W}( k: I6 z2 p4 o4 J( R8 Y8 c
return $dyna_libs;0 T* n) ~) g& _$ F, s; p" n: O+ d6 b
}
3 b- |8 T" L4 B* f) t/ i
+ P1 g$ U& d9 p$ [% s将$ext = end(explode('.', $tmp));
5 ^- ^; J$ [* ]& ]' D6 C) B t改为. R% f' e0 C- ?" d
$extsub = explode('.', $tmp);
6 ~; j' c# t! `% Z4 u$ext = end($extsub);
l4 q" f+ c5 G0 b m. i, _ 6 }! t9 [' o+ z, C$ w
解决办法 2(屏蔽错误) :! T! k* q4 J) X, [
, ]- C5 Y1 |) Y
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
0 b% F0 P/ D- N( y9 C ^php.ini中有如下设置:8 \- Q9 E3 H! f2 P: x
error_reporting = E_ALL | E_STRICT) O: Q: x. a9 Y( N. T
1 B* t- }4 v1 x: W5 H- r0 c/ k- z% A
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
' Q. O" R7 P, p: q+ ?2 b' i1 ?$ O9 ?Joomla其实是建议取消error的输出,如果出于调试需要,应改为- U: R2 Y% e" r0 q
error_reporting = E_ALL & ~E_NOTICE
- w* z( a: D" J- T$ x" g- R
7 c& f: Z$ B2 u) F4 b0 T问题得到解决。7 f0 | F* C3 F5 u
' G: e* g3 D7 S( T
" ]8 v6 X: V+ g0 K2 o
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line2 E, ^' v) f* q6 {4 f0 [: h( ~9 [
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
, a7 _- }6 P! h- [9 H. F: t( N9 c改为 :6 v. z! d" ?$ q+ c' \
$extsub=explode('.', $tmp);$tmp=end($extsub);
5 m" e* c: ~* u4 |+ y
/ Q1 C/ [ g$ C5 O$ E! h5 s% J |
|