• 为什么我的ECSHOP出现报错改正确了还是没有反应?


    我在刚開始安装完ecshop之后就如首页就開始报例如以下的错误:

    Strict Standards: Only variables should be passed by reference in C:diyServappsEcShopincludescls_template.php on line 422

    网上能够搜到这个解决的方法就是:因为在php5.3之后php函数返回的是一个值。而explode函数接收的參数必须是一个引用。所以要求必须是变量,将以下的写法

    array_shift(explode(' ',$tag));分为两步:第一步是$tar_arr=explode(' ',$tab);第二步是array_shift($tar_arr);

    由于array_shift接收的应该是一个引用,而不是一个值。而explode函数返回的是一个数组形式的值,并不是是数组变量。可能有人要问。这里面有什么差别吗?

    来看一下以下的以下的两种写法:

    第一种:

    array_shift(array(1,2,3,4,5));

    函数里面的就是一个数组形式的值,而不是变量,函数的返回值就是以值返回的

    array_shift($tab);

    上面的函数參数非常明显就是一个变量。

    在一个函数的參数要求是普通变量时,參数直接写为函数是没有问题的:比如trim('/',implode('/',array('h','w')));和trim('/',$str);都是能够通过的,可是假设函数的參数要求是引用形式的话就不能用函数作为參数了,由于函数返回的是一个值,不是变量,必需要通过变量来接收之后再传入函数中。


    切入正题:

    我发现将以上的错误改了还是报相同的错误;后来才发现ecshop有自己的缓存目录temp,位置就在ecshop安装目录下的temp目录,进入temp目录下。将该目录下的文件所有删掉,可是目录千万不要删掉!仅仅删除各个目录下的文件。这样就能清除缓存了。

  • 相关阅读:
    Tomcat/ WebSphere/WebLogic的作用和特点
    Servlet 执行时一般实现哪几个方法?
    synchronized 和 java.util.concurrent.locks.Lock 的异同 ?
    Request 对象的主要方法
    char 型变量中能不能存贮一个中文汉字?为什么?
    描述一下 JVM 加载 class 文 件的原理机制?
    单例设计模式
    Thread和Runnable
    Math.round方法、String实例化
    思路清晰的秘诀:结构化思维(自上而下)
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7086724.html
Copyright © 2020-2023  润新知