PHPStudy下安装Fecshop全过程

文档问题 · censhine · 于 6年前 发布 · 20416 次阅读
Fecshop作为一款优秀的开源YII2商城,逐渐受到PHP程序员们的青睐。对于这款商城的在LINUX下配置,软件的作者Terry已经列出了详细的安装文档,讲述非常精细到位,但是对于window下phpstudy[WAMP]环境的安装问题暂时没有讲述,有些初学者对此比较疑惑。
所以笔者今天将以PHPStudy集成环境下来讲述详细的安装Fecshop的步骤以供不是很清楚的童鞋们参考。

1.下载安装phpstudy,相信大家都很快能安装(不清楚的童鞋请参考其官网,这里不赘述),下载fecshop的百度网盘版,http://pan.baidu.com/s/1hs1iC2C 并解压到你的phpstudy的WWW目录(网速良好者建议composer安装)`;

2.启动phpstudy,建议将PHP版本切换为“php-5.6.27-nts”,编辑PATH环境变量在后面加入;D:\phpStudy\php\php-5.6.27-nts;

3.下载这个百度网盘的压缩包,链接: https://pan.baidu.com/s/1jI7tDwq 密码: skmm

4.将db文件夹,和mongod.cfg(分别为mongodb的数据存储目录和配置文件)复制到D盘根目录下;

5.将第3步下载得到的zip包解压,并安装“Redis-x64-3.2.100.msi”“mongodb-win32-x86_64-2008plus-3.4.3-signed.msi”(都是傻瓜式一键安装,默认下一步即可);

5.1) cmd命令行下执行: "D:\db\MongoDB\Server\3.4\bin\mongod.exe" --config "D:\mongod.cfg" --install

启动MongoDB服务,执行: net start MongoDB

使用Mongo服务,执行: "D:\db\MongoDB\Server\3.4\bin\mongo.exe"

use fecshop

5.2) cmd命令行执行开启Redis服务器: "D:\db\Redis\redis-server.exe" D:\db\Redis\redis.windows.conf

*注意:这里路径D:\db\MongoDB\Server\3.4为您mongodb的安装目录,D:\db\Redis\则为Redis安装目录,请依据实际情况修改!

6.将“php-5.6.27-nts”文件夹下的ext(内含redis,mangodb的PHP扩展的DLL文件),复制到D:\phpStudy\php\php-5.6.27-nts下;

7.在您的php.ini配置文件中加上以下扩展(大约在925行位置),保存配置并重启phpstudy服务

extension=php_igbinary.dll
extension=php_redis.dll
extension=php_mongodb.dll

8.phpstudy软件上找到其他选项菜单->打开配置文件->vhosts-conf并在末尾添加以下配置:

<VirtualHost *:80>
DocumentRoot "D:\phpStudy\WWW\fecshop\appadmin\web"
ServerName appadmin.fecshoptest.com
ServerAlias appadmin.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appfront\web"
     ServerName appfront.fecshoptest.com
     ServerAlias appadmin.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appserver\web"
     ServerName appserver.fecshoptest.com
     ServerAlias appserver.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appapi\web"
     ServerName appapi.fecshoptest.com
     ServerAlias appadmin.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\apphtml5\web"
     ServerName apphtml5.fecshoptest.com
     ServerAlias apphtml5.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appimage\common"
     ServerName img.fecshoptest.com
     ServerAlias img.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appimage\appadmin"
     ServerName img2.fecshoptest.com
     ServerAlias img2.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appimage\appfront"
     ServerName img3.fecshoptest.com
     ServerAlias img3.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appimage\apphtml5"
     ServerName img4.fecshoptest.com
     ServerAlias img4.fecshoptest.com
</VirtualHost>

<VirtualHost *:80>
     DocumentRoot "D:\phpStudy\WWW\fecshop\appimage\appserver"
     ServerName img5.fecshoptest.com
     ServerAlias img5.fecshoptest.com
</VirtualHost>

9.phpstudy软件上找到其他选项菜单->打开hosts,在尾部添加以下解析:

127.0.0.1       rock.fecshoptest.com     # rockmongo的域名指向,rockmongo是mongodb的可视化界面,类似于mysql的phpmyadmin
127.0.0.1       my.fecshoptest.com       # mysql的phpmyadmin的域名指向
127.0.0.1       appadmin.fecshoptest.com # 后台域名指向
127.0.0.1       appfront.fecshoptest.com # 前台pc端域名指向
127.0.0.1       apphtml5.fecshoptest.com # 前台html端的域名指向
127.0.0.1       appapi.fecshoptest.com   # api端的域名指向
127.0.0.1       appserver.fecshoptest.com # server端的域名指向
127.0.0.1       img.fecshoptest.com		#appimage/common   图片的域名指向
127.0.0.1       img2.fecshoptest.com	#appimage/appadmin 图片的域名指向
127.0.0.1       img3.fecshoptest.com	#appimage/appfront 图片的域名指向
127.0.0.1       img4.fecshoptest.com	#appimage/apphtml5 图片的域名指向
127.0.0.1       img5.fecshoptest.com	#appimage/appserver图片的域名指向

10.重启phpstudy服务,然后cmd命令行: cd /d D:\phpStudy\WWW\fecshop

init

选择对应生产环境或测试环境序号完成初始化;

11.找到D:\phpStudy\WWW\fecshop\common\config\main-local.php 修改其中的mysql,redis等配置信息;

12.找到D:\phpStudy\WWW\fecshop\appfront\config\fecshop_local_services\Store.php修改成如下:

   return [
   'store' => [
        'class'  => 'fecshop\services\Store',
        'stores' => [
            // store key:域名去掉http部分,作为key,这个必须这样定义。
            'appfront.fecshoptest.com' => [
                'language'         => 'en_US',        // 语言简码需要在@common/config/fecshop_local_services/FecshopLang.php 中定义。
                'languageName'     => 'English',    // 语言简码对应的文字名称,将会出现在语言切换列表中显示。
                'localThemeDir'    => '@appfront/theme/terry/theme01', // 设置当前store对应的模板路径。关于多模板的方面的知识,您可以参看fecshop多模板的知识。
                'thirdThemeDir'    => [],  // 第三方模板路径,数组,可以多个路径
                'currency'         => 'USD', // 当前store的默认货币,这个货币简码,必须在货币配置中配置
                /*
                 * 当设备满足什么条件的时候,进行跳转。
                 * 这种方式不怎么高效,最好的方式是在nginx中配置。
                 */
                'mobile'        => [
                    'enable'            => false,
                    'condition'         => ['phone', 'tablet'], // phone 代表手机,tablet代表平板
                    'redirectDomain'    => 'apphtml5.fecshoptest.com',    // 如果是移动设备访问进行域名跳转,这里填写的值为store key
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                // 用于sitemap生成中域名。
                'https'            => true,
                // sitemap的路径。
                'sitemapDir' => '@appfront/web/sitemap.xml',
            ],
            'apphtml5.fecshoptest.com/fr' => [
                'language'         => 'fr_FR',
                'languageName'     => 'Français',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'RMB',
                'mobile'           => [
                    'enable'               => false,
                    'condition'            => ['phone'], // phone 代表手机,tablet代表平板。
                    'redirectDomain'       => 'apphtml5.fecshoptest.com/fr', // 跳转后的url。
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/fr/sitemap.xml',
            ],
            'apphtml5.fecshoptest.com/es' => [
                'language'         => 'es_ES',
                'languageName'     => 'Español',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'USD',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['tablet'],
                    'redirectDomain'    => 'apphtml5.fecshoptest.com/es',
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/sitemap_es.xml',
            ],
            'apphtml5.fecshoptest.com/cn' => [
                'language'         => 'zh_CN',
                'languageName'     => '中文',
                'localThemeDir'    => '@appfront/theme/terry/theme01',
                'thirdThemeDir'    => [],
                'currency'         => 'CNY',
                'mobile'           => [
                    'enable'            => false,
                    'condition'         => ['phone', 'tablet'],
                    'redirectDomain'    => 'apphtml5.fecshoptest.com/cn',
                ],
                // 第三方账号登录配置
                'thirdLogin' => [
                    // facebook账号登录
                    'facebook' => [       //fb api配置 ,fb可以一个app设置pc和手机web两个域名
                        'facebook_app_id'     => '108618299786621',
                        'facebook_app_secret' => '420b56da4f4664a4d1065a1d31e5ec73',
                    ],
                    // google账号登录
                    'google' => [       //谷歌api visit https://code.google.com/apis/console to generate your google api
                        'CLIENT_ID'      => '380372364773-qdj1seag9bh2n0pgrhcv2r5uoc58ltp3.apps.googleusercontent.com',
                        'CLIENT_SECRET'  => 'ei8RaoCDoAlIeh1nHYm0rrwO',
                    ],
                ],
                'sitemapDir' => '@appfront/web/cn/sitemap.xml',
            ],
        ],

    ],

];

13. 测试数据下载地址为:https://pan.baidu.com/s/1kVwRD2Z , 进入后下载文件夹:fecshop数据测试包 ,这个文件夹里面所有的文件。

建立mysql数据库fecshop。

cmd命令行执行:

yii migrate --interactive=0 --migrationPath=@fecshop/migrations/mysqldb

导入mysql_fecshop.sql测试数据到mysql

导入mongodb的表,数据,索引: yii mongodb-migrate --interactive=0 --migrationPath=@fecshop/migrations/mongodb

导入mongodb测试数据: D:\db\MongoDB\Server\3.4\bin\mongo 127.0.0.1:27017/fecshop --quiet "D:\phpStudy\WWW\fecshop\mongo-fecshop_test-20170419-065157.js"

14.在D:\phpStudy\WWW\fecshop\appfront\web文件夹下建立.htaccess并录入以下信息

<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]  
</IfModule>

15.浏览器打开http://appfront.fecshoptest.com,恭喜您,经历漫长的配置过程终于可以看到结果了!!!

共收到 60 条回复 技术分享 fecshop
Fecmall#16年前 0 个赞

第三步的网盘地址换成fecshop提供的吧,因为经常更新版本

                            补充教程 

步骤3 对于windows64位的朋友以上使用的工具足够了 windows32可以下载下面的redis和mongodb 下载地址如下

http://files.cnblogs.com/files/cuiwenyuan/Redis-3.2.100-Windows-32.zip

redis的使用方法是解压后直接放到D:\db\Redis\目录下 执行service-install.bat就安装成功了

https://www.mongodb.org/dl/win32/i386

步骤5.1的cmd效果图如下

步骤5.2的cmd效果图如下

步骤10的cmd效果图如下

步骤13导入mongodb表和测试数据的cmd效果图如下

整个教程目前http://appfront.fecshoptest.com/ 显示英文页面 商品详情 购物车 登录 注册没有问题 但中文版 手机版等没有成功

Fecmall#46年前 1 个赞

@yinghuochong #3楼

1.对应英文版,nginx指向 @app/web/index.php 对于中文版,如果是www.domain.com/cn ,这种方式,nginx指向 @app/web/cn/index.php

2.手机版和pc appfront配置类似。

dong#56年前 1 个赞

终于成功了,谢谢@Terry@yinghuochong,比上回那个wamp的那个帖子详细多了

Fecmall#66年前 0 个赞

@dong #5楼 把你的踩得坑整理一下贴下面,如果内容太多可以开新帖,把地址贴到评论区,多分享交流。

赞~

Fecmall#76年前 0 个赞

@wooecshop 分享的另外一个windows安装的步骤文档: http://www.fecshop.com/topic/402

yusuihua#86年前 1 个赞

请问一下,我的db目录下,D:\db\mongo\data和 D:\db\mongo\log 里面都是空的,所以 cmd命令行下执行: "D:\db\MongoDB\Server\3.4\bin\mongod.exe" --config "D:\mongod.cfg" --install 提示 系统找不到指定的路径 我的另一个朋友也是这样情况,请问有什么解决方法?

liweilong#96年前 0 个赞

请问我在第13步下载fecshop数据测试包,将mysql_fecshop.sql导入时,导入不进。

Fecmall#106年前 0 个赞

@liweilong #9楼 http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-about-config.html

该步骤没有执行,或者执行失败,migrate是初始化数据库的操作步骤

yusuihua#116年前 2 个赞

第十三步执行命令时:

yii migrate --interactive=0 --migrationPath=@fecshop/migrations/mysqldb

出现以下错误

数据表里面只留有一个migration 表,这是因为没有打开innodb引擎的缘故。 可以参考以下解决方法 http://blog.csdn.net/zuishadeshabi/article/details/69524892

Fecmall#126年前 0 个赞

把你的信息用markdown包裹起来

包裹起来,就是英文状态下Tab键上面的字符 ,要么就删除掉,弄的乱糟糟的。

你的错误是:

Syntax error or access violation: 1286 Unknown storage engine 'InnoDB'

你的mysql没有开启innodb,自己查询解决Unknown storage engine 'InnoDB'

13楼 已删除.
14楼 已删除.
15楼 已删除.
xin6841414#166年前 0 个赞

和8楼情况一样, 下载的tools工具 db文件夹是空的 楼主文件是不是没有上传成功!

Fecmall#176年前 0 个赞

@xin6841414 #16楼 @xin6841414 #16楼

这是安装mongodb的问题,和我上传东西没有关系,window下面安装fecshop的文档不是我写的,window下面部署环境不了解,帮不了忙。

fecshop只有linux下面的安装教程

最近要做docker的镜像,可以选择使用镜像快速安装。

freetiger#186年前 0 个赞

关于5.1的补充: 必须以管理员身份运行cmd,否则可能没法启动mongo服务

freetiger#196年前 0 个赞

第10步就挂了。 首先,最新版的源码从哪下载?我是从github上download的。里面并没有init文件,有initfecshop,但提示不是内部外部命令,也不是批处理文件或可执行文件。

myred08#216年前 1 个赞

@19楼 在第10步就遇到大坑了。

10.重启phpstudy服务,然后cmd命令行: cd /d D:\phpStudy\WWW\fecshop

init

一直提示 The OpenSSL PHP extension is required by Yii2. 但是明明安装好了openssl扩展。 一步步排查发现是自己的环境变量Path设置的值出问题了。 因为之前是用 php5.4 ,又改成 5.6的。之前的没有删除。

最后自己用完整的命令。运行一次就没出错了。

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\init"

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\yii" migrate --interactive=0 --migrationPath=@fecshop/migrations/mysqldb

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\yii" mongodb-migrate --interactive=0 --migrationPath=@fecshop/migrations/mongodb

直接用(init , yii)发现有几个坑。如果被坑用我这个方法试试。
iddigenius#226年前 1 个赞

第十步执行"一直提示 The OpenSSL PHP extension is required by Yii2,"的问题,我这边倒是因为 php.ini配置文件里面的 “extension=php_openssl.dll”没有取消注释

sbpgfn#236年前 0 个赞

到这一步卡住了,有没有遇到同样问题的兄弟帮忙看一下

Fecmall#246年前 0 个赞

@sbpgfn [[#23楼](#comment23)](#comment23) 仔细看发帖说明:http://www.fecshop.com/topic/624

你这样粗略的帖子:

1.截图还截一半,报错都没截全

2.没有情景上下门,执行到哪一步骤报的错,参看的文档的那个步骤,这些信息都不给,谁知道你这是哪门子错误?

仔细看发帖说明:http://www.fecshop.com/topic/624

jnetzhou#255年前 0 个赞

执行这个命令的时候yii mongodb-migrate --interactive=0 --migrationPath=@fecshop/migrations/mongodb报错,请问怎么解决?

myred08#265年前 0 个赞

@jnetzhou #25楼 用完整的试试

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\init"

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\yii" migrate --interactive=0 --migrationPath=@fecshop/migrations/mysqldb

"C:\phpStudy\php\php-5.6.27-nts\php.exe" "C:\phpStudy\www\fecshop\yii" mongodb-migrate --interactive=0 --migrationPath=@fecshop/migrations/mongodb

davin#285年前 0 个赞

我執行到第10步就卡住了,init过不去,请教下是怎么回事?

29楼 已删除.
myred08#305年前 0 个赞

@davin [#28楼](#comment28) 亲,是 init.bat 不是init吧? 你是windows环境的。要用批处理执行。

davin#315年前 0 个赞

下载的是最新版本,执行了initFecShop后,报错

myred08#325年前 0 个赞

@davin #31楼 我说的是

init.bat
davin#335年前 0 个赞

@myred08 #32楼 没有init.bat文件

davin#345年前 0 个赞

@myred08 #32楼 这是github clone 下来的目录,是不是和你的不一样?

myred08#355年前 0 个赞

不一样。建议你用https://pan.baidu.com/s/1hs1iC2C#list/path=/fecshop 下载 这边的下载。 github的楼主是分模块。你这个好像不完整的。

Terry#365年前 0 个赞

@davin [[[#34楼](#comment34)](#comment34)](#comment34)

你也真是奇葩了,谁告诉你,直接git clone? 安装文档说了吗?

有看安装文档吗?安装文档你没看,那么github的readme里面的说明你看了吗?

最无语的就是你这类奇葩,自己去看:https://github.com/fecshop/yii2_fecshop

安装文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-about-hand-install.html

http://www.fecshop.com/first

很多地方都在强调,要用composer安装!!!!

没有阅读文档的能力,就不要玩fecshop。

浪费感情!!!真的,别嫌老子爆粗,针对的就是你们这类人,爆粗的目的,就是引起注意,仔细看文档操作,如果引不起注意,或者你压根就没有这个能力或者耐心,那么就别玩fecshop,浪费相互的时间和感情,浪费生命。

myred08#375年前 0 个赞

建议认真看作者的安装说明吧。 你都没看说明。直接上来问了。 作者都被搞烦了。 :(
嘿嘿。

davin#385年前 0 个赞

@Terry #36楼 你牛逼,不好意思,本人较笨,浪费你感情和生命了,害您少活了几年。建议您最好把论坛也关了,不然天天都有人浪费您生命,唉!88

Terry#395年前 1 个赞

@davin #38楼

1.这是你的贴:http://www.fecshop.com/topic/957 , 上面是你问的问题。

2.安装一个系统,阅读完文档,按照文档步骤安装是一个基本的方式,喜欢凭借自己想当然的方式操作,那么你去做你喜欢做的事情好了,都是你的自由,但是,如果用fecshop,就仔细看文档,按照文档操作。

3.本论坛只向程序员开放,显然你不属于此类,你的离开是正确的。

40楼 已删除.
Fecmall#415年前 0 个赞

第一次安装建议用docker部署

已经按楼主的所有步骤配置完成并成功打开首页http://appfront.fecshoptest.com/ ,但是其他页面全部报Internal Server Error,跟着路径去找对应的方法,没有找到controllers文件夹是怎么回事?

qingdao#435年前 0 个赞

@newbie91521 #42楼

出现这个问题:Internal Server Error

你在安装的时候选择的生产模式prod,而不是开发模式dev,因此不现实报错

你可以看这回个帖子解决:http://www.fecshop.com/topic/265

将生产模式改成开发模式

出现问题先搜帖子,帖子有解决的

@qingdao #43楼 感谢你的回答,不过我本地的项目都是配的开发环境而非生产环境。 现在的问题是我严格按照上面的每步执行,也成功访问了首页,但是网站目录没有controllers、models、views这三个打开其他页面所需要指向的文件夹

Fecmall#455年前 0 个赞

nginx去除index.php,配置了那吗?

Fecmall#465年前 0 个赞

第一次安装,建议用docker部署

47楼 已删除.
48楼 已删除.
yue909#495年前 0 个赞

本地后台添加商品失败,已经试过论坛方法了, Exception 'XSErrorException' with message 'fsockopen(): unable to connect to xunsearch:8383 (����Ŀ����������ܾ����޷����ӡ� )'

in D:\phpStudy\PHPTutorial\WWW\fecshop\vendor\hightman\xunsearch\lib\XS.class.php:711

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics