ecshop的安装与相关问题解决

来源:互联网 发布:linux vi 移动到行尾 编辑:程序博客网 时间:2024/04/30 02:23

ecshop的安装与问题解决。ecshop的版本是2.7.3 utf8,wampserver是2.5,32bit,操作系统是Windows7 64bit。

前期已安装过一次ecshop,但是使用php版本为5.5,出现很多报错信息,是因为很多函数在PHP5.5后就不再推荐使用,但是又涉及正则表达式的使用,不知道如何替换,就在wampserver上多安装了一个PHP5.4。PHP5.4的安装会有另外一篇文章介绍,在此仅介绍ecshop的安装和问题解决。


1. apache添加vhosts(虚拟主机后,无法访问localhost

解决办法:由于添加虚拟主机后,apache会对所有的域名进行虚拟主机条目的匹配,能够匹配上的才能够进行访问,因此需要在httpd-vhosts.conf中增加如下条目

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ErrorLog "logs/localhost-error.log"
    CustomLog "logs/localhost-access.log" common
    <Directory "c:/wamp/www">
        Allow from all
        options +Indexes
        Allowoverride all
    </Directory>
</VirtualHost>

停止Apache再启动Apache即可访问http://localhost


2. wampserver添加多个PHP版本后,第二个添加的PHP无法有效增加extensions

解决办法:wampserver默认使用的php.ini在Apache的安装目录下(c:/wamp/bn/apache/apache2.4.9/bin/php.ini),因此先将PHP5.5版本的php.ini直接拷贝到上述目录,发现PHP5.4仍然不能添加extensions。最后终于发现PHP两个版本下的dll文件不是通用的,我直接在php.ini文件中指定使用PHP5.4的dll文件(extension_dir = "c:/wamp/bin/php/php5.4.45/ext/")成功增加extensions。

3. 安装ecshop成功后,出现下述报错:Strict Standards: Only variables should be passed by reference in E:\Tools\ECShop_V2.7.3_UTF8_release1106\upload\includes\cls_template.php on line 418 418行:$tag_sel = array_shift(explode(' ', $tag));

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

因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值

4. 第3步完成修改后刷新页面减少部分报错信息,但仍会出现第3点的错误提示信息

解决办法:清除ecshop缓存,删除ecshop/temp/caches目录下的目录和文件,重新刷新即可。



0 0
原创粉丝点击