php 出现Strict Standards: Only variables should be passed by reference in的解决方法

yipeiwu_com6年前PHP代码库

这个问题多半是因为引用传递参数引起的,解决办法一是修改代码不使用引用传递;另一个办法是修改php配置文件,修改error_reporting 其值改为error_reporting = E_ALL& ~E_NOTICE。或者修改函数中的引用方式即可。

ps:修改配置文件时,最好是复制一行,注掉,然后再改,如果需要随时切回。

ECShop出现Strict Standards: Only variables should be passed by reference in的解决方法

今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be passed by reference in F:\www.xxxx.com\cls_template.php on line 418

解决办法:

打开cls_template.php文件中发现下面这段代码:

$tag_sel = array_shift(explode(' ', $tag));

忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以这段代码中的explode就得移出来重新赋值了

$tagArr = explode(' ', $tag);
$tag_sel = array_shift($tagArr);

这样之后顶部的报错没掉了,左侧和底部的报错还需要去ecshop的后台点击清除缓存才能去除。

下面我们遇到这段代码,在php5.3以上版本,也会报错误。

$file_suffix = strtolower(array_pop(explode('.', $file_name)));

修改方法:

$fnarray=explode('.', $file_name);
$file_suffix = strtolower(array_pop($fnarray));

这样大家就了解了吧,以后传参需要单独写好,不能一行写完了。

相关文章

探讨:如何使用PhpDocumentor生成文档

命令行方式:  在phpDocumentor所在目录下,输入phpdoc –h会得到一个详细的参数表,其中几个重要的参数如下:-f 要进行分析的文件名,多个文件用逗号隔开-d 要分析的目...

PHP实现关键字搜索后描红功能示例

PHP实现关键字搜索后描红功能示例

本文实例讲述了PHP实现关键字搜索后描红功能。分享给大家供大家参考,具体如下: 在刚开始学习php的时候,就对搜索过后的关键字描红感到好奇,但是这几天在巩固php基础的时候,就发现原来这...

PHP 反射(Reflection)使用实例

PHP Reflection是用于获取类、扩展、方法、函数、对象、参数、属性的详细信息。 ReflectionClass类获取类相关信息,如获取属性、方法、文档注释等。 <&#...

thinkphp实现把数据库中的列的值存到下拉框中的方法

1. 先去数据库中查值,查询整个数据表,结果为二维数组。 $project = M("project"); $cell = $project->where(array('s...

php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]

登录原理还是蛮复杂的,像我这样以为curl获取页面再post上去的想法真是太单纯了。 整理下遇到的价格处理字符串的函数: 复制代码 代码如下: <?php $encryption...