首页 > 网站 > 建站经验 > 正文

安装Ecshop首页报错:Only variables should be passed by referen

2024-04-25 20:31:56
字体:
来源:转载
供稿:网友

出现下面这就话:

Strict Standards: Only variables should be passed by reference in E:Toolsecshop_V2.7.3_UTF8_release1106uploadincludescls_template.php

on line 418

第418行:$tag_sel = array_shift(explode(' ', $tag));

解决办法 1

5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了 $tag_sel = array_shift(explode(' ', $tag)); 改成: $tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);

(实验过,绝对可行) 因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值

解决办法 2 : 或则如果这样配置的话: error_reporting = E_ALL | E_STRICT

php.ini中有如下设置:

error_reporting = E_ALL | E_STRICT

这是说,显示那些不符合编码规范的警告(coding standards warnings)。

Joomla其实是建议取消error的输出,如果出于调试需要,应改为

error_reporting = E_ALL & ~E_NOTICE

问题得到解决。

下面是错误输出配置的原文:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Error handling and logging ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; This directive informs PHP of which errors, warnings and notices you would like

; it to take action for. The recommended way of setting values for this

; directive is through the use of the error level constants and bitwise

; operators. The error level constants are below here for convenience as well as

; some common settings and their meanings.

; By default, PHP is set to take action on all errors, notices and warnings EXCEPT

; those related to E_NOTICE and E_STRICT, which together cover best practices and

; recommended coding standards in PHP. For performance reasons, this is the

; recommend error reporting setting. Your production server shouldn't be wasting

; resources complaining about best practices and coding standards. That's what

; development servers and development settings are for.

; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This

; means it pretty much reports everything which is exactly what you want during

; development and early testing.

;

; Error Level Constants:

; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0)

; E_ERROR - fatal run-time errors

; E_RECOVERABLE_ERROR - almost fatal run-time errors

; E_WARNING - run-time warnings (non-fatal errors)

; E_PARSE - compile-time parse errors

; E_NOTICE - run-time notices (these are warnings which often result

; from a bug in your code, but it's possible that it was

; intentional (e.g., using an uninitialized variable and

; relying on the fact it's automatically initialized to an

; empty string)

; E_STRICT - run-time notices, enable to have PHP suggest changes

; to your code which will ensure the best interoperability

; and forward compatibility of your code

; E_CORE_ERROR - fatal errors that occur during PHP's initial startup

; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's

; initial startup

; E_COMPILE_ERROR - fatal compile-time errors

; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)

; E_USER_ERROR - user-generated error message

; E_USER_WARNING - user-generated warning message

; E_USER_NOTICE - user-generated notice message

; E_DEPRECATED - warn about code that will not work in future versions

; of PHP

; E_USER_DEPRECATED - user-generated deprecation warnings

;

; Common Values:

; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.)

; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices)

; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)

; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.)

; Default Value: E_ALL & ~E_NOTICE ------默认

; Development Value: E_ALL | E_STRICT ------开发用

; Production Value: E_ALL & ~E_DEPRECATED -- 正式发布用

; http://php.net/error-reporting

;error_reporting = E_ALL | E_STRIC

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表