|
|
( c( s0 G) p: d3 \9 V7 N4 j W' u 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 错误$ X1 B! i( `. _
解决:找到install/includes/lib_installer.php中的第31行 return cls_image::gd_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:
* \% G8 _; N4 y/ W0 u 1)将function gd_version()改成static function gd_version()即可。
2 N7 R: M5 k6 O+ F 2)或者将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
2 q, n9 q7 ~; z5 D4 t0 G* r$p = new cls_image();
, s. M- k! x1 Y3 k9 k9 Jreturn $p->gd_version();6 y5 @% R7 T9 l8 u
' V2 P( X" B& B# `. T* A0 o0 i ~# Y5 X: I I
下载ECShop网店系统V2.7.0正式版,解压,上传后,安装进程进行到第3步:“配置系统”,点击“立即安装”后弹出“安装程序监视器”窗口,内容显示如下:+ w8 M0 |* W$ n' h! m
安装进程已中止- _" N- I7 n5 ~+ C7 X G; b
创建配置文件............成功
. i, R) J$ c( D创建数据库............成功
: ^% ]- {2 r& B! o安装数据............成功+ g W& E, t9 w( M4 ]% }
创建管理员帐号............成功
7 B; E) O2 B7 J* M& r处理其它............失败
$ W6 @$ \( L. n& K4 a' p' @7 }% U. H$ k9 R! W$ ?
Warning: mkdir() [function.mkdir]: No such file or directory in /home4/skyrunne/public_html/7dbay/install/includes/lib_installer.php on line 528
9 }. `( S5 D7 p$ L无法创建目录,无法创建目录6 f6 @+ W: p) G* d. o6 f- m* @2 n
解决方法如下:, e8 P: z# u$ Q0 t* Q+ W
点击“立即安装”前,不选择屏幕最下方的复选框安装测试数据: + x; Q$ @+ N$ y
(选择此项,将默认全选预选商品类型) ,就可以顺利完成,反之就会出现如上的错误提示。& K& d' k: b4 A9 x
不安装测试数据库一样可用,一样正常,不是问题.....5 Y% i7 L3 A& |8 X; ?( `: n# q7 r
愿看到此文章的朋友能解决问题; " T' K& C- B, \9 Y
3 q/ J7 R! v& [. _4 e# Q! M3 T7 c2 y6 T
ecshop如何解决includes\cls_template.php on line 418错误
$ ]% O% Z; r) `( }- |4 Y7 J8 b& m! x/ D
之前遇到过的问题,一直很苦恼,到底该怎么解决,现在终于找到了解决的方法,现在分享给大家看下,问题如下所示:, b- y) |$ [5 s. z9 X5 _
Strict Standards: Only variables should be passed by reference in upload\includes\cls_template.php on line 418% M8 Z5 L' y1 ?- \! U. n
第418行:$tag_sel = array_shift(explode(' ', $tag));+ x7 s( T3 H# @* y& m5 F7 [
! o0 ^' g: u0 B! L; }2 {
解决办法 1: u% ^$ P$ a+ v% M0 v) e
5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成:
0 |1 N- K9 v* e1 f$ U, n ( c2 n. d% j* S1 g3 F
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
- w8 ^+ q" `: Z4 B! Q$ M" v3 Z(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值; b8 }! n. ?( P s+ C2 P
同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决2 L* C7 K* \! O* W* r5 [/ O
s1 ^" Q7 D' \4 k. g如:
0 I4 \1 ~0 v4 ?0 O4 w! hfunction get_dyna_libs($theme, $tmp)
/ `( |' {, ] P A1 n{
; ]8 N5 }2 ~6 R8 i2 v' J q$extsub = explode('.', $tmp);
+ I1 D% l- O# _& {$ext = end($extsub);! @9 p- G$ j, q( v" \* [8 y
$tmp = basename($tmp,".$ext"); A/ O# k' ]+ }) N9 w* r3 `
$sql = 'SELECT region, library, sort_order, id, number, type' .
2 m% {. H" W' {9 Q: O' FROM ' . $GLOBALS['ecs']->table('template') .: M9 f3 e: A6 U6 `
" WHERE theme = '$theme' AND filename = '" . $tmp . "' AND type > 0 AND remarks=''".
, r- d3 {# Y0 }2 ?' ORDER BY region, library, sort_order';
, N5 U6 Z, X* ]$res = $GLOBALS['db']->getAll($sql);* {0 w. Q3 ]" p+ v
$dyna_libs = array();
4 Y8 H X( [, y" Y2 k5 m( |foreach ($res AS $row). I" K4 Q5 A$ c8 Z8 g
{) g/ b" X7 L$ c
$dyna_libs[$row['region']][$row['library']][] = array(
( T# ` ? h9 m- B9 D'id' => $row['id'],7 n5 F+ u6 F7 s9 y% }, I* H7 B( d
'number' => $row['number'],9 P' ` u( C r+ Y: J+ P* p
'type' => $row['type']
7 j$ t* v9 e6 D. j, ]/ s& w);
8 A4 c- q# s/ ~# E; B1 Z}1 t6 l" y/ R/ V' I* b8 o! M- A
return $dyna_libs;) _9 j' c& f$ P" ]4 j
}8 D" z) o p/ {
y0 ~2 u. j& j
将$ext = end(explode('.', $tmp));, ^8 M3 G1 ^5 L% s% p! h+ K3 G" H4 x
改为. D* b3 h s/ T
$extsub = explode('.', $tmp);
7 Q/ J5 D' K( U$ h1 o2 ?$ h9 ^$ext = end($extsub);/ v/ ?5 G: y% s5 S
, Y1 K! L; l9 ^# i5 `4 L6 y解决办法 2(屏蔽错误) :: Z! g# w6 A6 }5 J. a
! m8 E3 N* d& { V
或则如果这样配置的话: error_reporting = E_ALL | E_STRICT2 ~/ `% n& P/ |: B: a
php.ini中有如下设置:
* s1 \8 t1 L1 {( b; D+ T# D8 [0 yerror_reporting = E_ALL | E_STRICT4 M8 {8 A" r+ _1 p' u0 @# J9 T' l
3 ]6 h6 z+ _ ]5 Q+ T7 {这是说,显示那些不符合编码规范的警告(coding standards warnings)。* {# ^6 Q7 h1 V9 J
Joomla其实是建议取消error的输出,如果出于调试需要,应改为3 C% M( J H' _& e( u% ?
error_reporting = E_ALL & ~E_NOTICE) l/ g- c: z- b0 T3 H; h5 F0 l6 }+ g
; a# ]- L% l3 Q: h8 g5 w: p* O
问题得到解决。/ `) O- ]+ W7 u; L; X
5 O+ @ |) K/ i3 K: s
$ @( j3 K+ ^9 z; v7 O6 `9 d7 q
Ecshop出现问题 includes\lib_main.php on line 1329 includes\lib_base.php on line( c# J+ k8 y4 v' R' z# t; A
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句 $ext = end(explode('.', $tmp));
k, ~" c- {' C# L- i. m* l改为 :: |" ]' m" y' t; h, m1 x
$extsub=explode('.', $tmp);$tmp=end($extsub);
1 K( U; o& @' q" `2 ?8 P) _- |9 ^" q. L5 h. A/ x1 w/ v
|
|