ecshop网上商城搭建以及安装和页面问题的解决

2024-02-25 19:50

本文主要是介绍ecshop网上商城搭建以及安装和页面问题的解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

要安装ecshop网上商城需要有apache网页服务器和php语言编译环境与mysql数据库。

原因:ecshop存在大量的php页面,php语言编译环境需要有相关的网页服务器进行解析如apache。

如果没有apache和php,浏览器请求不到网页服务器,而网页服务器根据浏览器的http请求取出相关页面对处理结果返回给浏览器,对相关页面的处理比如php就需要php语言编译环境了,否则找到相关页面返回给浏览器还是不能识别,浏览器本身就不能解析php页面。

需要mysql数据库,很多开源项目的数据是放在mysql数据库里的,如果没有数据库做支持很多数据信息只能临时保存,而不能有效相对性的永久保存。

首先安装apache2.2,指定其安装目录配置好httpd.conf文件。规划好php语言编译环境解压目录以及对php.ini的配置,安装mysql时注意端口号,主机字符串,字符集编码。安装wamp时注意统一文件夹方便管理。(这里只做简要说明,详细的请看异说wamp搭建以及discuz!论坛发布)

 

有了wamp环境安装ecshop就好办了,首先到官网或是第三方链接下载ecshop,解压ecshop的压缩包,将其中的docs和upgrade文件夹删除(相关说明以及更新用的,没什么实际用途),再将upload更名成ecshop(便于记忆方便管理)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

改为:

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

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

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

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

原先:

function alipay(){}
function __construct(){this->alipay();
}

修改后

function __construct(){this->alipay();
}function alipay(){}

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

重要的事情说三遍:

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

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

成功

 

 

 

 

 

 

 

转载于:https://my.oschina.net/hillsowl/blog/686382

这篇关于ecshop网上商城搭建以及安装和页面问题的解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746524

相关文章

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Swagger在java中的运用及常见问题解决

《Swagger在java中的运用及常见问题解决》Swagger插件是一款深受Java开发者喜爱的工具,它在前后端分离的开发模式下发挥着重要作用,:本文主要介绍Swagger在java中的运用及常... 目录前言1. Swagger 的主要功能1.1 交互式 API 文档1.2 客户端 SDK 生成1.3

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

CentOS 7 YUM源配置错误的解决方法

《CentOS7YUM源配置错误的解决方法》在使用虚拟机安装CentOS7系统时,我们可能会遇到YUM源配置错误的问题,导致无法正常下载软件包,为了解决这个问题,我们可以替换YUM源... 目录一、备份原有的 YUM 源配置文件二、选择并配置新的 YUM 源三、清理旧的缓存并重建新的缓存四、验证 YUM 源