公司一个做产品的同事最近给了我一个东东,说是让我把它放到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_V2.7.3_UTF8_release0411.rar”很可能包含了ECShop的源代码和其他必要的配置文件,供用户安装和搭建在线商店。 ECShop作为一款成熟的电商解决方案,其核心知识点主要包括以下几个方面: 1. **...
这个"ECShop_V2.7.3_UTF8_release1106"压缩包包含了完整的源代码和必要的配置文件,适用于开发者和电商从业者进行二次开发或搭建电商平台。 首先,ECShop的核心知识点包括: 1. **架构设计**:ECShop基于B/S架构,...
4. **文件"ECShop_V2.7.3_GBK_release1106"** 这个文件很可能是ECShop V2.7.3GBK版本的安装包,"release1106"可能是发布日期,表示该版本是在2011年6月发布的。安装包通常包括程序源代码、数据库脚本、配置文件以及...
这个压缩包是为Linux CentOS 7系统设计的,这意味着它已经优化了在Linux环境下运行的兼容性和性能。 **ECShop的主要特点:** 1. **开源免费**:ECShop遵循GPLv2开源协议,允许用户自由使用、修改和分发源代码。 2. ...
ECShop_V2.7.3_UTF8_release1106 文件夹则是ECShop的核心代码库,包含了整个电商系统的源代码、模板、图片、CSS样式表、JavaScript脚本等资源。以下是一些可能包含在其中的重要组件和功能: 1. **框架结构**:...
Ecshop与Jquery冲突的完美解决方案 ECShop把AJAX事件和JSON解析的模块放在common/transport.js之中,可以说它也有自己封装的一套工具,这其实是很正常的。 但恰恰的,在封装JSON各种方法的同时对object的模型进行了...
Ecshop与Jquery冲突的完美解决方案 ECShop把AJAX事件和JSON解析的模块放在common/transport.js之中,可以说它也有自己封装的一套工具,这其实是很正常的。 但恰恰的,在封装JSON各种方法的同时对object的模型进行了...
由于自PHP5.4以后发布的版本去掉了部分原有的旧函数,导致 EcTouch 手机移动商务平台在 PHP5.4.X 以上安装失败。这里提供了专门针对PHP5.4.x以后版本的完整安装包,直接安装,一键成功。
非常经典ecshop版本,学习或搭建一个B2C商城系统都很不错,现在各个平台上都下载不到了,做为一直从事于电商系开发的开发者把这个版本分亨出来,方便大家下载ECSHOP 通用电子商务平台------------------------------...
ecshop_v2.7.3数据库表结构和模板目录结构
V2.7.2是其在2006年4月发布的一个版本,支持UTF-8编码,这确保了该系统能良好地处理多语言环境中的字符集问题。"Release0604"表明这是该版本的2006年4月发布的稳定版本,意味着它经过了一定程度的测试和优化。 标题...
在ECShop_V2.7.3_UTF8_中国银行支付插件中,可能包含以下组件和配置文件: 1. **配置文件**:如`payment/boc/config.php`,用于设置商户ID、密钥、回调URL等关键参数,这些参数在安装插件时需要根据中国银行提供的...
ECShop是一款基于PHP语言开发的开源电子商务系统,其版本号为V2.7.3,UTF8编码方式表明它是支持多语言环境的,尤其是中文。"release0411"可能指的是该版本在2004年11月发布的一个稳定版本。这个压缩包文件是一个备份...
支付宝免签约即时到帐接口 for ECShop_V2.7.3 【安装方法】 1、在http://www.zfbjk.com网站注册一个用户,并下载“支付宝免签约即时到帐辅助”软件 2、将本接口压缩包所有文件解压并覆盖到网站根目录 3、登录...
V2.7.3是其一个特定的版本,此版本在UTF-8编码环境下运行,支持多语言,能为全球用户提供购物体验。这个压缩包“ECShop_V2.7.3_UTF8_中国银行支付插件”特别添加了对“中国银行支付”的集成,意味着它包含了与中国...
【好乐买okbuy2012整站_for_Ecshop_v2.7.3】是一个基于Ecshop电子商务系统的完整网站版本,适用于2012年。这个版本是专为好乐买(OkBuy),一个知名的在线鞋类商城设计的。在深入探讨这个主题之前,我们先了解一下 ...
"支付宝"作为标签出现,意味着ECSHOP V2.7.3支持与支付宝接口的集成,允许商家接受支付宝作为支付方式,增强了购物系统的支付便捷性,适应了中国市场的主流支付习惯。 在实际应用中,ECSHOP提供了丰富的后台管理...