新睿云

> 弹性云服务器ECS > ecshop开源商城安装到Windows服务器应该如何操作?

ecshop开源商城安装到Windows服务器应该如何操作?

作者/来源:新睿云小编 发布时间:2019-11-21

本文讲述将开源商城ecshop安装到Windows服务器上,这可能是全网最全的教程了。

解压ecshop的压缩包,将其中的docs和upgrade文件夹删除(相关说明以及更新用的,没什么实际用途),再将upload更名成ecshop(便于记忆方便管理)。

 ecshop开源商城安装解压安装包

注:建议下载utf8编码的压缩包,utf8是国际通用字符集编码相关代码支持比较好显示也不错,如果是小型公司之类的网站下载gbk中文字符集编码也未尝不可较为节省内存。

接着将ecshop文件夹放入到apache默认解析目录htdocs下

 ecshop开源商城安装解析目录

打开浏览器输入localhost/ecshop发出http请求,再点击index.php页面

 ecshop开源商城安装测试HTTP请求

同意相关协议下一步,检查相关环境,我们发现由于ecshop相关代码疏忽和php配置不完善造成如下结果(当然不止这些,我们都要一一解决)

 ecshop开源商城安装检测相关环境

找到php环境目录的php.ini配置文件进行如下修改,将";"注释符去掉,启用图形处理动态链接库文件

 ecshop开源商城安装查看配置源码

由于对php.ini配置文件的修改,需要重启apache服务器才生效

 ecshop开源商城安装重启Apache服务器

再对ecshop相关图形处理代码查看中发现lib_installer.php文件里的一段启用图片处理支持的代码写错了,发现这点的原因是当我修改完php.ini以及重启apache刷新ecshop环境检测页面时启用了图形处理库却还不支持jpeg,不符合常理。将($gd_info['JPG SUPPORT']==true)中的JPG改成JPEG

 ecshop开源商城安装配置图片库

以及检测环境页面的报错信息所处的位置相关行数31行代码,发现涉及到gd_version();是非静态函数,对php文件的引用在../ecshop/includes目录下的cls_image.php

 ecshop开源商城安装修改函数

我找到cls_image.php文件对函数gd_version()进行static静态定义

 ecshop开源商城安装静态函数

接着刷新环境检测页面,相关信息检测正确,接着下一步

 ecshop开源商城安装点击下一步

填好相关信息,我觉得相关代码的时区错误可能不止这一点,就大胆直接下一步出现如下错误信息,不过果然如此(运气运气)

 ecshop开源商城安装查看错误信息

我首先来到目录../ecshop/install/includes下的lib_installer.php根据提示223行进行修改,直接将date_default_timezone_get();直接设置成date_default_timezone_set('PRC');由获取时区变为设置时区,关于PRC是中华人民共和国的英文缩写

 ecshop开源商城安装设置中文

接着根据提示../includes/cls_mysql.php的文件以及代码所在的行数163、173进行如下修改,关于165行并没有什么错误,算是取得时间结果引导的并发性错误

 ecshop开源商城安装引导错误

刷新页面,接着填完信息下一步,将要成功时失败了,真是防不甚防啊。听着像是获奖感言似的,继续追寻错误信息的足迹。

 ecshop开源商城安装错误调试1

找到../includes/lib_time.php文件,出错代码所在的行数,上来就是原有28上添加date_default_timezone_set('PRC');

 ecshop开源商城安装错误调试2

再次刷新,填写完信息下一步,此时已经成功安装完成了

 ecshop开源商城安装安装成功

进入ecshop的首页这错误不忍直视啊,严格标准:只有变量通过引用传递在1329和422行,应该是代码规范问题,看样子以前的版本行的通,毕竟我学php的版本是5.4.45,刚学没多久,官网好像说的是5.5忘了,而且官网也推荐5.3以下.....

 ecshop开源商城安装调试PHP版本

既然只有变量通过引用传递反推只能传递具体的变量而不能通过函数返回值传递。

将../includes/lib_main.php里的所在行的函数转变为一个变量接收,传值的一个过程;

将$ext=end(explode('.',$tmp));改为:

$extsub=explode('.',$tmp);

$tmp=end($extsub);

 ecshop开源商城安装修改变量

再将../includes/cls_template.php里的$tag_sel=array_shift(explode('',$tag));(记得保存,注意我截图时是没保存的,截完图后保存的)

改为:

$tag_arr=explode('',$tag);

$tag_sel=array_shift($tag_arr);

 ecshop开源商城安装参数传递

我为了以防万一,将浏览器缓存清理了一遍还是不奏效,然后再进入管理系统清理缓存,管理系统在admin/index.php里。

 ecshop开源商城安装进入后台

进入管理系统后,又醉了,又是规范问题,重定义关于类的构造函数初始化代码块失败的问题

 ecshop开源商城安装初始化代码块失败

将所有管理系统提示涉及到的php文件中的行里的构造函数和初始化代码块互换位置

原先:

function alipay(){

}function__construct(){

this->alipay();

}

修改后

function__construct(){

this->alipay();

}

function alipay(){

}

 ecshop开源商城安装重新加载初始化代码

之后如下,将所有管理系统提示涉及到的php文件中的行里的构造函数和初始化代码块互换位置

重要的事情说三遍:

 ecshop开源商城安装加载代码

说实话图是小了点,但核心的实质没变,按照我的方法,照猫画虎应该难度不大

再次进入管理系统,清除缓存,这次进入ecshop主页查看,this is suprised,very perfect!

 ecshop开源商城安装后台成功显示

成功

 ecshop开源商城安装前端成功显示

热门标签
new year
在线咨询
咨询热线 400-1515-720
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待