|
|
# u( y d7 g5 m! i5 l 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 错误& z3 K o" L/ `; K0 @
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
* r' d" \' c0 q, ? 1)将function gd_version()改成static function gd_version()即可。$ q$ t3 |' L( ]! w6 Z, `% S# {
2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
; }' t. B; W0 Y* \% w9 R8 J3 @. Z$p = new cls_image();8 a% ~: x0 Y9 e/ N
return $p->gd_version();& X5 v, w* B( ^# E' e% f
% [" s" p M" A; A G3 l9 y: _- J# s3 Q8 u3 ^
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下: j# r5 V9 f& J0 L$ I' U. e$ F* n) @
安装进程已中止
; R; x/ `: x+ e6 O/ ~创建配置文件............成功
7 u! ]' `- S2 L5 v6 N* Z w% @9 G0 |创建数据库............成功5 K+ ]6 S4 X, c g. `) W9 r5 k
安装数据............成功( {: b9 d, _$ D- W$ ~+ W3 {
创建管理员帐号............成功
/ i- v. ~! O4 G; Z" G$ m处理其它............失败, A: Z* A8 E0 y2 T1 C" A5 Y. d. P
: u4 K! r6 s' V# k; {# {$ n
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528/ F/ X; B- T: c
无法创建目录,无法创建目录* w9 c4 S! x7 v3 u
解决方法如下:
# U1 h% k/ l4 ` h. w# t& O0 O点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: : `% b# b4 W! `
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。! T7 W8 p, c/ T% J+ N& [6 [
不安装测试数据库一样可用,一样正常,不是问题.....
+ n" b) M9 i+ F q7 Y' B) y9 ~愿看到此文章的朋友能解决问题; # b- _( h2 r; h: P" }; @( Z
7 J9 L3 q/ n/ n7 s, ^/ u$ H v
4 [2 e/ w, m8 b) ~2 K( _ecshop如何解决includes\cls_template.php on line 418错误3 m N$ e$ W1 Q7 p
& `) ^6 j1 X- k! _
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:6 U0 C( p$ `5 Y3 v7 Z: w
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418
5 c( `% X- L4 `1 [# o第418行:$tag_sel = array_shift(explode(' ', $tag));. z8 v( T( [1 q4 _+ W4 B+ M
; I6 R7 N4 J [! H# D+ {# S% t解决办法 1:
6 x% ~% P/ J7 O* r/ D5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: 0 F8 Z2 L6 U# P! n: k" \) t2 e
' U# ]1 R _! i( C' ~; P$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr); |4 w- W: W/ v5 k
(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
% ]: M. @7 z- u) u1 G0 o5 A同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决
4 }0 Q R0 C) z% m9 S
2 m: a' y1 k" u2 g如:, A5 A1 z/ a+ h8 B( e' o
function get_dyna_libs($theme, $tmp)
3 s# h9 R. B# A' h/ Y) z5 r) F: V{
2 ?0 r* g2 P" y$extsub = explode('.', $tmp);
# r6 ~& j2 L F5 f: m0 Q$ L$ext = end($extsub);
8 h& \, [8 J; S" q: s$tmp = basename($tmp,".$ext");* h' c# y3 y6 R
$sql = 'SELECT region, library, sort_order, id, number, type' .
$ j D: s! I9 H$ f' FROM ' . $GLOBALS['ecs']->table('template') ., y3 m9 F- z3 I# j( `0 {6 b8 `
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''"./ H2 Q; p2 [2 s3 S) K" ?) W
' ORDER BY region, library, sort_order';
+ [+ H4 }7 V4 R' e1 U& E$res = $GLOBALS['db']->getAll($sql);& h \$ H) H8 K. f+ v9 z( {- {3 l
$dyna_libs = array();
7 l1 X1 ?! |" ]3 Y# X# Eforeach ($res AS $row)
, L y$ r/ B% k: d% w{% P+ x8 x" y8 n9 z, h$ c
$dyna_libs[$row['region']][$row['library']][] = array(% G `+ W0 J' M: Y7 k6 z
'id' => $row['id'],
& ], C: e9 O/ C' i% h* I'number' => $row['number'],
: Z4 n9 U; O% ?' c$ I5 S9 A'type' => $row['type']
$ {/ U4 z/ V/ f' s$ y); u. ~. J0 K# @! q6 ^& G9 }
}
$ Y2 \% _8 S1 U1 Z" rreturn $dyna_libs;
3 |; N& e8 A7 H}
- w& l0 O6 m l, L+ ~
6 m0 M9 q6 [- G \1 f# h将$ext = end(explode('.', $tmp));2 K4 y3 Q; R% c
改为( _9 F" G1 p6 T0 I: v
$extsub = explode('.', $tmp);& ]$ c' i2 O u% Z2 \7 H8 M9 Y+ r6 {
$ext = end($extsub);4 I: ~1 ^1 W$ G3 `# J
. r/ S+ A. a6 M3 t/ R' V3 E# d
解决办法 2(屏蔽错误) :
) X* o/ [9 X' C5 k; v5 Y2 x' y1 j. a' a# \
, g( {3 _4 U8 x2 h3 d) y0 b+ D或则如果这样配置的话: error_reporting = E_ALL | E_STRICT
. n9 y% F3 \* k( x$ ?0 G1 Lphp.ini中有如下设置:7 H7 s; U/ u# N& G) b ^' p9 C
error_reporting = E_ALL | E_STRICT! S% s+ A1 p8 u7 i6 b0 z
( }6 ], J# @$ y( |/ z9 F
这是说,显示那些不符合编码规范的警告(coding standards warnings)。
" }$ k1 O3 T% C+ ]- N8 N+ s' D2 ZJoomla其实是建议取消error的输出,如果出于调试需要,应改为9 b9 V6 S7 n* H: y7 J
error_reporting = E_ALL & ~E_NOTICE0 P8 V! E+ ]; a7 U/ ^
6 v( |8 R2 `5 m4 a7 v. t
问题得到解决。- [( K2 G6 |% k+ _" Z- R' ~& h
* l T0 q r2 `$ s$ t& q5 e7 |$ d& Q# d4 x# U
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line
3 _& q/ J1 ~( T# q, ~1 D/ iphp 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));: V8 T% J; i5 [! g$ F: x
改为 :
( d! j" K0 Z$ w/ T. s5 ]7 ]0 G. \$extsub=explode('.', $tmp);$tmp=end($extsub);8 G; o+ ?% I% Y8 r7 [' H0 l
# r$ D! \& q6 o# R4 m |
|