|
|
( C# H) h( J4 z) @ _- [ 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 错误
/ ?& U) }9 ]" D8 E7 W0 F 解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
( n/ ]) E4 a! z2 F 1)将function gd_version()改成static function gd_version()即可。
, U1 {2 z% a, X9 Z 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
- H; T6 p7 [- m7 l$p = new cls_image(); \% U9 |" Y8 ~6 y; J+ ]$ i$ P
return $p->gd_version();
7 ?* M9 v; r0 y) [4 R- ]3 U5 L7 J, }! r6 x) g% M; E# E
! h# l2 I3 A) F" N" I# V! Y
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:
; c7 I& w/ I2 X0 s4 E2 P安装进程已中止
, ?4 a( r6 B) Z+ I, X p创建配置文件............成功" H& n. V1 h+ O, l8 o
创建数据库............成功- a _2 K" A/ J2 X! l) H
安装数据............成功0 D; `) i+ z e+ P- [- B
创建管理员帐号............成功- f* U$ I$ R* F6 Z
处理其它............失败
& I. r ~) A7 F) f1 C& T: S6 e$ V8 q3 E! n6 @- @8 i( U
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 5280 Y8 ?; B: Z- x0 A8 i
无法创建目录,无法创建目录! |" M0 P$ p- S5 B( ~
解决方法如下:/ {( t4 v+ D* L0 [
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: , |1 S2 |: u4 A- V6 c# `; g
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。
6 n e4 x3 Z7 E# N4 m# C不安装测试数据库一样可用,一样正常,不是问题.....! e( m6 |4 P I, U: M' {1 i: F
愿看到此文章的朋友能解决问题; ( T) X L& a1 A
5 F6 o6 i! |; ^, B5 m
- ~" b3 g$ g+ H* t! W
ecshop如何解决includes\cls_template.php on line 418错误% r) K/ L% Y/ q/ \' i! O0 q
8 H" a- a$ y1 n) K3 N之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:" E; D' T6 i% p% s' l. O1 C
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
5 }, s8 p5 k! F第418行:$tag_sel = array_shift(explode(' ', $tag));
; j/ c4 z/ \+ m9 }4 c9 P* C* `8 C
* C9 J2 u8 Y P& I+ M解决办法 1:
. \- }! e1 z) J. x5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 4 a% Y, r# |% N9 ]
7 }+ @# Y7 S4 t* z6 I% c* m- e$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
- j: e0 b5 T. ^/ ^, l! M2 G. r(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值% i+ f6 E& X7 v4 P9 m1 y
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
1 x* a3 p. @% P$ r5 f7 H+ d" _
6 u8 b6 I% Z z3 @) @" w如: y6 I& b- Y! f& i* o+ N' l& V
function get_dyna_libs($theme, $tmp)5 y8 I0 M; A V5 D8 E2 E
{& `; R9 g- S7 @+ q/ f. [/ n- C
$extsub = explode('.', $tmp);
0 q: Z% P6 [: \6 j$ext = end($extsub);2 ?' S" }# o- ^+ M# ?
$tmp = basename($tmp,".$ext");( l, Q6 W4 h& `, J) F* _2 K* y
$sql = 'SELECT region, library, sort_order, id, number, type' ., y) J7 J- d4 L# x; B/ z+ w
' FROM ' . $GLOBALS['ecs']->table('template') .
/ S' E6 d6 l) W6 {: m) s" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
5 \6 N8 h q4 Y5 v' ORDER BY region, library, sort_order';9 G+ ?; b, v& T0 E
$res = $GLOBALS['db']->getAll($sql);
( r, o! B X( a8 v5 W4 a$dyna_libs = array();9 E- H. D4 n& J8 |0 m
foreach ($res AS $row), A* l: b& E; F/ [
{( d0 U( ?9 D5 t/ q3 O
$dyna_libs[$row['region']][$row['library']][] = array(
4 k( Y3 Q* G& ]' `9 f1 |$ g. m'id' => $row['id'],) h5 k' L6 K0 i! e
'number' => $row['number'],
* o: h% N* l* U! S& W7 J'type' => $row['type']. |1 S$ @" A/ @
);
$ h. c: ~" s+ v/ K4 T) E}9 M9 ]8 B2 _* ^) W# x
return $dyna_libs;( T+ q! h2 D2 | K& O3 \
}; A$ s o- {8 X8 r9 ]( y" B, g) O) s
' }$ J, u" K% K3 p1 i" A8 E
将$ext = end(explode('.', $tmp));
9 l+ j1 {+ u% ~( O5 g H8 c改为. S; S# O; M5 m6 c
$extsub = explode('.', $tmp);
8 J* ` x6 I y/ O; ]$ext = end($extsub);
+ b8 U) c& [7 a1 l1 e
, d6 b8 h. U& K( ?4 a解决办法 2(屏蔽错误) :( E# d$ l# b; r
- m6 U: ?; n0 p& x或则如果这样配置的话: error_reporting = E_ALL | E_STRICT4 t) t; l+ e3 m+ m1 G
php.ini中有如下设置:' k7 I0 k& ?6 {& C6 K5 K H" _' d
error_reporting = E_ALL | E_STRICT( g; S5 s- l2 e
0 A" Q5 _4 V' }+ C% e' ^7 j这是说,显示那些不符合编码规范的警告(coding standards warnings)。- i+ ]- g2 W/ @5 ]4 W1 B; o/ y
Joomla其实是建议取消error的输出,如果出于调试需要,应改为
* U3 ? D3 b7 u9 Nerror_reporting = E_ALL & ~E_NOTICE
+ L; R% P$ |5 s
4 Y7 U, N. X p+ L% R+ f问题得到解决。9 w/ J9 g8 J! \' e; M' R
1 D! q+ v+ ~0 M$ \2 R& T* `
! ~2 J9 \2 Y: e' r& ~6 R# ~Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
0 `/ Y" A! |( d( f" wphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
' | g- u! g- T! v' b- `改为 : Z1 s2 T1 v5 G; H+ L
$extsub=explode('.', $tmp);$tmp=end($extsub);0 q3 T! d* p6 o7 s
q+ q6 \$ e9 d8 @
|
|