环境:
  Windows7 64位
  php-7.0.19
  php-swoole-1.9.15
  php-yac-2.0.2
  php-redis-3.1.2
  php-mongodb-1.2.10

遇坑:

  Cygwin: 不能默认使用 Windows 自带的 mingw git,否则报"fatal: Unable to create temporary file: Result too large",需要使用 Cygwin 中的 Git 软件包。

  

1.安装 Cygwin

  下载: https://cygwin.com/setup-x86_64.exe

  安装: 直接下一步到镜像选择界面,如果没有 163 镜像,则填写 http://mirrors.163.com/cygwin/,并点击 Add,选择使用 163 镜像。

  cygwin 需要安装软件包如下,使用 search 搜索安装。

gcc: Devel > gcc*
pcre: Text > pcre
pcre-devel: Libs > libpcre-devel
autoconf: Perl Default > perl-Config-AutoConf
wget: Web > wget
git: Devel > git
**********************************************************************
注意此处必须要装 Git,不能默认使用 Windows 下 mingw 版本的 Git
**********************************************************************
php: Interpreters, PHP > php
php-扩展名: PHP > php-扩展名
*****************************************************************************************************************************
使用这种方式安装完后不必修改php.ini(已在 /etc/php.d/xxx.ini 中)
但是如果是自己手动编译安装的扩展,需要修改php.ini
必要扩展 php-ctype、php-curl、php-gd、php-json、php-mbstring、php-mcrypt、
php-pdo_mysql、php-phar、php-zip、php-posix、php-tokenizer、php-xmlwriter
*****************************************************************************************************************************

**以下都是在 Cygwin Terminal 中执行**

2.手动编译安装 PHP 扩展(Cygwin 中没有提供安装包)。

  swoole: https://codeload.github.com/swoole/swoole-src/tar.gz/v1.9.15
  yac: https://github.com/laruence/yac/archive/yac-2.0.2.tar.gz
  phpredis: http://101.96.10.63/pecl.php.net/get/redis-3.1.2.tgz
  mongodb: http://pecl.php.net/get/mongodb-1.2.10.tgz

  同一套安装流程

phpize
./configure
make && make install

  注意: 编译安装的扩展需要修改 /etc/php.ini,加入扩展配置。如下:

extension=yac.dll; #注意: 此处不像 Windows 中有 "php_" 前缀,且后缀应为 .dll,

3.安装 composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

4.下载 php-msf 的 installer.php

wget https://raw.githubusercontent.com/pinguo/php-msf-docker/master/installer.php 或者 wget https://cdn.rawgit.com/pinguo/php-msf-docker/214fe1e2/installer.php

5.为避免手动输入配置错误,直接修改 installer.php 的配置

  1).添加配置

$_ENV['HOME'] = '/home/Administrator'; //配置用户的家目录

  2).修改配置

$defaultSystemName = 'dealer'; //项目名
$defaultApplicationDir = '/cygdrive/e/code/php-msf/'; //项目路径
$defaultPort = ; //监听端口

5.执行 php installer.php 完成 php-msf 的安装搭建。

6.一个控制终端运行服务

php server.php

7.另一个控制终端测试服务

curl http://127.0.0.1:8090/Welcome

8.可能出现的异常情况

  1).设置 ~/.bashrc 中的MSF_ENV 无效,$_ENV 为空。

    解决: 修改 php.ini,variables_order 的值加上 "E"。比如 "EGPCS";

后续:
  为方便在 Cygwin Terminal 中直接安装软件包,可以使用 apt-cyg,安装方法如下:

wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg -P /usr/bin/
chmod a+x /usr/bin/apt-cyg

  安装示例:

apt-cyg install php-mbstring

【完】

PHP-Windows下搭建PHP-MSF环境【原创】的更多相关文章

  1. Windows下搭建Git开发环境

    Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...

  2. [转载]在Windows下搭建Android开发环境

    http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 在Windows下搭建Android开发环境 | 浏览:30780 | 更 ...

  3. 【原创】windows下搭建vue开发环境+IIS部署

    [原创]win10下搭建vue开发环境  如果要转发,请注明原作者和原产地,谢谢! 特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安 ...

  4. windows下搭建vue开发环境+IIS部署

    原创]win10下搭建vue开发环境  https://www.cnblogs.com/ixxonline/p/6007885.html 特别说明:下面任何命令都是在windows的命令行工具下进行输 ...

  5. Windows下搭建PHP开发环境

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  6. (一)Windows下搭建PHP开发环境及相关注意事项

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  7. [转]Windows下搭建PHP开发环境

    原文:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html PHP集成开发环境有很多,如XAMPP.AppServ......只要 ...

  8. windows下搭建vue开发环境+IIS部署 [转]

    特别说明:下面任何命令都是在windows的命令行工具下进行输入,打开命令行工具的快捷方式如下图:     详细的安装步骤如下: 一.安装node.js 说明:安装node.js的windows版本后 ...

  9. Windows下搭建PHP开发环境-WEB服务器

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  10. windows下搭建vue开发环境实践

    Vue.js是一套构建用户界面的 "渐进式框架".与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已 ...

随机推荐

  1. c#利用SWIG调用c++dll学习总结【转】

    开发环境: 操作系统:windows 7 IDE:Microsoft Visual Studio Professional 2015 SWIG: 3.0.12 swig的介绍 详细介绍可看官网,一下贴 ...

  2. [leetcode]Multiply Strings @ Python

    原题地址:https://oj.leetcode.com/problems/multiply-strings/ 题意: Given two numbers represented as strings ...

  3. Remote Desktop Session中如何触发Ctrl+Alt+Delete?

    Ctrl+Alt+End is a keyboard shortcut used in a Remote Desktop Session to display the security dialog ...

  4. jQuery对象初始化的多种传参数形式

    jQuery对象初始化的传参方式包括:1.$(DOMElement)2.$('<h1>...</h1>'), $('#id'), $('.class') 传入字符串, 这是最常 ...

  5. jQuery UI全教程之一(dialog的使用教程)

    jQuery UI目前的版本已经更新到了1.8.7.个人感觉和easyui相比起来,jQuery UI在界面的美观程度和可定制型更强一些.所以再次将一些jQuery UI组件的用法说明一下,方便日后查 ...

  6. Qt5.3.1 静态编译的configure

    今天最终自己静态编译过了QT5.3.1, 成功用在项目上了, 记录下configure指令.  configure -confirm-license -opensource -platform win ...

  7. Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证

    在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用.用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决 ...

  8. [Algorithm] How many times is a sorted array rotated?

    Given a sorted array, for example: // [2,5,6,8,11,12,15,18] Then we rotated it 1 time, it becomes: / ...

  9. C# 动态解析表达式

    需求 我们很难捉摸用户的思维,即使使用非常正式的文档规范某些数据的定义.结果的标准等,也不能抵挡住用户不断变化的需求,但他们有个万变不离的东西——你做这个东西要是万能的,即输入参数类型.个数等发生改变 ...

  10. ZH奶酪:PHP抓取网页方法总结

    From:http://www.jb51.net/article/24343.htm 在做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过ht ...