环境:
  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. ubuntu下nodejs开发环境搭建

    1.安装nodejs sudo apt install -y nodejs 2.更新npm到最新版本 sudo npm i -g npm 3.npm配置为淘宝镜像 sudo npm config se ...

  2. JS 判断上传 文件 大小

    随着HTML5 的发展,我们可以用file控件的size属性来获取客户端 上传文件的大小,但是 我今天测试 发现IE10支持,IE11的某个版本不支持, 于是就借用img控件来加载一此, 以此来获取文 ...

  3. ZMQ和MessagePack的简单使用(转)

    近段日子在做一个比较复杂的项目,其中用到了开源软件ZMQ和MessagePack.ZMQ对底层网络通信进行了封装,是一个消息处理队列库, 使用起来非常方便.MessagePack是一个基于二进制的对象 ...

  4. [leetcode]N-Queens II @ Python

    原题地址:https://oj.leetcode.com/problems/n-queens-ii/ 题意:和N-Queens这道题其实是一样的,只不过这次要求返回的时N皇后的解的个数的问题. 解题思 ...

  5. Hadoop家族学习路线、实践案例

    作者:Han Hsiao链接:https://www.zhihu.com/question/19795366/answer/24524910来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  6. https://www.cnblogs.com/xubing-613/p/5895948.html

    最近总是需要用matplotlib绘制一些图,由于是新手,所以总是需要去翻书来找怎么用,即使刚用过的,也总是忘.所以,想写一个入门的教程,一方面帮助我自己熟悉这些函数,另一方面有比我还小白的新手可以借 ...

  7. JPA(四):EntityManager

    Persistence Persistence类使用于获取EntityManagerFactory实例,该类包含一个名为createEntityManagerFactory的静态方法. // 创建En ...

  8. oracle 嵌套查询

    select dat.id, dat.voucher_id, dat.type, dat.state, dat.start_point, dat.start_floor, dat.end_point, ...

  9. 用Jetty 9.1运行Java WebSockets微服务

    Jetty 9.1的发布将Java WebSockets (JSR-356) 带入了非Java EE环境,从而开启了微服务时代.我们可以将Jetty的容器包含在java应用程序中(注意,不是Java代 ...

  10. Android 显示网络图片

    本文内容 环境 演示显示网络图片 本文演示 Android 如何显示网络图片.学习一门新的语言,最好办法就先了解该语言的语法和库,以及设计思想,再着手现实一些常用功能,毕竟以后用该语言是要写程序的,而 ...