ECShop_V2.7.3在Linux环境下的搭建运行步骤

本文介绍了如何在Linux(CentOS 6.3)上搭建并运行ECShop_V2.7.3。教程涵盖了安装Apache、PHP、MySQL,配置Apache支持PHP,安装PHP的MySQL扩展,解决PHP版本问题,以及部署和配置ECShop的全过程,旨在帮助初次尝试者节省时间和精力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   公司一个做产品的同事最近给了我一个东东,说是让我把它放到Linux上跑起来...最初以为仅仅是个简单的静态页面直接用nginx就完事了,结果没想到打开一看里面全是.php文件,心想这哥们真真是完全不懂技术啊,感觉要比我预想的复杂些,更何况php我以前也只是听闻完全没有接触过啊...但是没办法为了给公司省钱同时自个也想挑战下新鲜玩意就试着搭建一下玩玩。查阅过很多资料基本明白要怎么弄之后用了一下午加俩小时完美的搞定,其间遇到了不少坑,一个个的解决之后那种成就感对一个程序员来说那滋味我想作为同行大家都应该能体会吧。昨晚回家已经不早了,正好睡一觉捋捋思路,把最正确最简洁的步骤记录并分享出来,希望有需要的朋友能够因此受益...好啦,废话不多说,下面开始一步步介绍搭建及运行步骤(关键步骤及需要注意的地方我会标红)。

 

  此次搭建我用到的环境及软件版本为:CentOS release 6.3 (Final) + httpd-2.2.31 + PHP 5.4.45 + mysql 5.5.53

 

1.通过ftp从本地上传httpd-2.2.31.tar.gz至Linux服务器,并通过下面的步骤进行apache的安装

  

1) 解压httpd-2.2.31.tar.gz
	tar -zxf httpd-2.2.31.tar.gz
2) 切换至httpd-2.2.31目录
	cd httpd-2.2.31
3) 编译(将apache安装至/usr/local/apache2目录下)
	./configure --prefix=/usr/local/apache2
4) 安装
	make
	make install
5) 进入到apache的安装目录并用vi编辑配置文件httpd.conf
	cd /usr/local/apache2/conf
	vi httpd.conf
	搜索ServerName,将其注释打开并编辑www.example.com为localhost
6) 保存并退出切换至bin目录,启动http服务
	cd ../bin/
	./apachectl start
7) 打开浏览器输入ip地址访问,出现It works!,至此apache安装完成;

  

2.通过以下命令安装PHP服务(因为我们的服务器是花钱买的,因此自带了yum,建议可以的话还是用yum装,如此它会自动将所需的依赖给安装上)

 

yum -y install php php-fpm --enablerepo=remi 

 

安装完成后可以通过php -v命令来查看所安装的php版本

 

注意:

1) --enablerepo=remi这个很关键,我的理解它会自动匹配依赖包所需的版本并对已有的版本进行更新而不是直接报冲突错误,这个屡试不爽);

2) php-fpm 这个的安装也是必须的,如果修改了php.ini配置文件,需要重启php-fpm方可生效;

 

3.安装mysql服务,需要注意的是安装前需要先将mysql相关的东东都清除干净,具体步骤可参考我的另一篇博客“Linux下Mysql 5.7的安装及远程连接配置

  

yum -y install mysql-server mysql mysql-devel --enablerepo=remi	(这里msyql-server容易被落下)
以下是yum命令常见的一些操作(仅供参考充电):
	
yum list installed | grep mysql(查看已经安装的mysql)

yum -y remove mysql-libs.x86_64(根据查看的结果卸载某个已有的软件)

yum list | grep mysql 或 yum -y list mysql*(查看yum库中某些指定的软件列表)

 

4.现在需要的软件均已安装完毕,但是目前apache,php,mysql三者之间是相互独立的,首先apache作为应用服务器要运行php项目,必须开启php支持。那么接下来就需要编辑apache的配置文件httpd.conf,具体需要修改的地方如下:

 

1) 添加php模块(这个是最关键的

    LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so

 

2) 在dir_module中添加index.php,

    <IfModule dir_module>

        DirectoryIndex index.html index.php

    </IfModule>

 

3) 在mime_module中添加php类型

    AddType application/x-httpd-php .php

    AddType application/x-httpd-php-source .phps

 

4) 写一个测试用php文件验证是否开启php支持成功,根据DocumentRoot配置项的指示,在"/usr/local/apache2/htdocs"下用vi新建一个info.php文件并编辑内容如下:

<?php
    phpinfo();
?>

 

5) 重启httpd服务,在浏览器输入http://ip/info.php,如果出现如下图所示,说明php支持开启成功,apache跟php的关联ok

  

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 5.由于接下来要部署运行的项目不仅仅只有php,还有对数据库的操作,因此需要安装PHP的mysql扩展模块支持,具体步骤如下

 

1) yum -y install php-mysql --enablerepo=remi 安装php-mysql模块

 

2) php如果想连接mysql,在编译时就需要用到mysql的头文件以及库文件(注意:正常情况下如果上一步php-mysql通过yum安装成功了,那么就会有mysql.so生成

  find / -name mysql.h

  find / -name mysql.so 

  

3) 根据查找到的mysql.so库文件所在路径找到并cp至extension_dir目录下,extension_dir在php.ini中有设置

 

4) 修改php.ini,添加extensions = "mysql.so"(注意:这里是extensions复数,如果少了一个s,打死都不知道咋回事,我就被坑啦

 

5) 重启php-fpm,具体命令(针对php 5.4版本)如下

    php-fpm 启动:

    /usr/sbin/php-fpm 

    php-fpm 关闭:

    kill -INT `cat /var/run/php-fpm/php-fpm.pid`(注意:这里php-fpm.pid只有启动过之后才有,第一次未启动之前是没有该文件的

    php-fpm 重启:

    kill -USR2 `cat /var/run/php-fpm/php-fpm.pid`

 

    查看php-fpm进程数:

    ps aux | grep -c php-fpm

 

6) 重启httpd服务,在浏览器中重新访问info.php,此时全文检索如果能够搜索到mysql关键字,说明php与mysql的关联ok

  

6.至此,基本已经大工告成啦。接下来通过ftp上传ECShop_V2.7.3_UTF8_release1106.zip至Linux服务器,具体操作如下

  

1) unzip ECShop_V2.7.3_UTF8_release1106.zip
2) mkdir -p /usr/local/apache2/htdocs/ecshop/
3) mv ECShop_V2.7.3_UTF8_release1106/upload/* /usr/local/apache2/htdocs/ecshop/
4) cd /usr/local/apache2/htdocs/ecshop/
5) chmod -R 777 data/ temp/ cert/ includes/ images/ themes/

  

 7.重启httpd服务,在浏览器中输入http://ip/ecshop/回车就会出现ecshop的安装配置界面

 

 

8.在安装配置的过程中可能会出现时间相关的报错,此时需要编辑修改php.ini配置,打开注释并设置date.timezone = UTC,重启httpd服务刷新即可。

 


 

9.安装完成后首页会出现令人懵逼的现象"Strict Standards: Only variables should be passed by reference in D:\wamp\ecshop\includes\cls_template.php on line 422",据说这个是php版本高的原因所致,解决办法如下:

 

 

找到提示错误的文件 cls_template.php 及行号

 

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

 

改成:

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

$tag_sel = array_shift($tag_arr);

 

10.完事后登录到管理员后台将所有缓存全部清除,重新刷新前台页面,完美搞定。

 

前台首页:

 

后台首页:


 

  以上就是整个搭建部署运行的全过程,虽然总结下来不是很复杂, 但是刚开始涉足的话需要一步步的摸索和研究,对于专注于做开发的我们也许会浪费些许时间,这里我花周六一上午的时间总结记录并分享出来,希望能够帮助到大家。

 

ECSHOP是一款开源免费的通用电子商务平台构建软件,使用她您可以非常方便的开一个网上商店,在网上开展自己的生意。ECSHOP有如下特点: 1、强大的模版机制 做网站的,做页面是一个头疼的问题。如果每次的小改动都要去改页面模版代码再上传的话,作为商家的你,一定不厌其烦。 ECSHOP结合最流行的AdobeDreamweaver软件实现了一套模版机制,让您改动模版不再需要上传,而是在后台稍稍动动手设置一下就可以了。 2、完全开放的插件机制 支付、配送,这个是商家每天都要面对的功能,如果您现在使用的程序不够开放,那么在您想快速变更所用的支付、配送体系的时候,很可能会拖了后腿。 我们根据自己的长期运营和开发经验,总结出了一套开放、简洁的插件体系,以支持不断变化的支付、配送体系的变更。 届时,您会发现,这块事情将会解除您的忧愁,可以把精力集中在更重要的事情上。 我们同时也以插件形式支持会员整合。迁入、迁出,不再烦恼。 3、功能的AJAX化 当您发现编辑一个商品,需要敲打键盘、挪动鼠标几十下的时候,您是否想到了以后大批量修改的是一个非常恐怖的工作呢? ECSHOP使用目前流行的AJAX技术,为您实现简洁修改,奠定了基础。 同时在更多方面以减轻用户的劳动,提供工作的效率为宗旨,完整的实现了相关功能的AJAX化,由于是在底层完全支持,所以也为以后的扩展打下了基础。 4、促销功能 当您把商品一一上架、却发现没有用户来关心,同样是一个头疼的问题。 那么我们目前在提供了积分、红包、赠品等常规促销手段,更根据自身的电商经验,独家加入了更容易吸引人气的夺宝奇兵促销功能。 把您每月做广告的费用拿出来一点点,变成您所卖的商品,通过夺宝奇兵活动吸引人气、回馈用户,我相信是一个比简单的广而告之更有效的办法。 5、高效率的代码和执行性能 当你浏览自己的网站,发现速度很慢,是不是恨的要全部改成静态页面呢? 其实不然,根据我们长时间的开发经验,动态、静态页面在不同的用途下各擅胜场,但是在有很多个性化功能的前提下,动态的页面要比纯静态的页面好处多多,如果动态页面的URL静态化可以通过REWRITE方式实现,那么剩下就是一个效率问题。 我们也认为,动态页面的瓶颈99%在数据库上,我们通过以往自己的数据库架构设计以及优化经验为基础,设计了目前的ECSHOP数据库结构,并通过缓存机制,实现目前的高效访问。 在不考虑网速的情况下,与纯静态页面相比,您不会感觉到丝毫的差别。我们也会在以后的开发设计中,让目前的架构更加完善、更加高效。 6、常规功能的更完善实现 有些软件的功能虽然不错,但是因为对于用户不够友善,也会让人敬而远之,也往往把客户拒之门外,我们希望能够在常规的功能上,也能为您和您的客户提供更好的用户体验。 7、代码的开源和免费的发展策略 我们认为开源是一个趋势,同时也是一个商业模式。我们也同样认为免费是一个趋势,同时也是一个商业模式。 我们不是说我们不想收费,而是希望在用户能够在提高自身收入和价值的同时,能够让我们之间形成一个双赢的结局。 我们认为的收费应该是以周边服务收费,而不是卖产品本身,所以在这之前我们与广泛的业界同仁进行过充分的交流,对自身是否可以实现这个想法也有一定的考证。 为了您更好的使用ECSHOP,请阅读docs目录下面的相应文档,如果这些文档无法满足您的需要,您可以访问我们的网站获得支持: 1.官方网站:http://www.ecshop.com [增加]增加文章标题的显示长度的设置({$article.short_title}) [增加]管理中心起始页增加安全模式信息的内容 [增加]增加初始化的文件上传目录 [修正]更新cls_sql_executor.php,提高前缀替换、表创建等操作的精确度 [修正]修改复制目录文件的函数 [修正]修改在某些环境下创建目录失败的问题 [修正]修正退款的bug [修正]已知细微Bug的修正及部分代码的优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值