环境:
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 = 8090; //监听端口
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
【完】