Cygwin安装swoole及错误解决
swoole是一个非常牛逼的国产PHP框架,但是只能在Linux环境中运行,大多数的程序员在开发时都是windows系统,装虚拟机又比较麻烦,这时Cygwin出现了。Cygwin可以使我们在windows环境中拥有一个类似linux的命令行环境。
使用Cygwin安装swoole时需要安装支持的扩展,网上有非常多相关介绍,但只有一个版本,照着装安装完成后Cygwin是可以安装成功的,但是在安装swoole时会提示没有C++解释器,报错信息:
![](https://www.itsource.cn/upload/news/2019-07-25/f098c2ae-e7bd-4f4e-be3a-93efd757e64e.png)
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/home/swoole-src-master':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
这个坑是有提示的,还是比较好解决,就是在选择扩展时再搜索“C++”,选择安装C++解释器即可。要注意的是,需要删除重新安装Cygwin软件,不能只重新下载扩展,那样依然会报错。
完整的安装步骤如下(亲测通过):
前提:下载Cygwin工具和swoole源码
Cygwin 官方地址:http://www.cygwin.com/
swoole 官方下载地址:https://github.com/swoole/swoole-src/releases
一、安装Cygwin
![](https://www.itsource.cn/upload/news/2019-07-25/ddc91642-bedc-42c3-be19-7e0a65f6d7b3.png)
使用网络安装,需要下载包时自动从网络上下载
![](https://www.itsource.cn/upload/news/2019-07-25/35cec222-0d9a-4128-a366-698b18fc336d.png)
设置安装根目录,建议不要把目录装得太深
![](https://www.itsource.cn/upload/news/2019-07-25/7edf7851-6069-44f2-be92-0297b488efc0.png)
设置扩展包的安装目录
![](https://www.itsource.cn/upload/news/2019-07-25/d2394aac-7d0f-4d49-9cb6-cc57b111617e.png)
设置网络,默认即可
![](https://www.itsource.cn/upload/news/2019-07-25/22222969-8ffd-4563-9768-a699f22cc8a6.png)
选择一个下载包的网站,建议选择前几个,速度会快很多。
![](https://www.itsource.cn/upload/news/2019-07-25/acbae141-6a4c-441f-bfe0-df140823bb37.png)
开始下载并安装,速度就看上一步选择的站点了。如果非常慢,就取消重新来一次,换个速度快的站点。
![](https://www.itsource.cn/upload/news/2019-07-25/690c54ae-c2ce-42ee-88c1-cbf43918ccac.png)
选择要安装的扩展包,一共需要找六个
![](https://www.itsource.cn/upload/news/2019-07-25/f0487a06-709a-4074-b79a-ea729f08fa8a.png)
扩展包1: gcc: gcc-core
![](https://www.itsource.cn/upload/news/2019-07-25/e08fe900-54d5-4d84-8c52-362c2c5db718.png)
扩展包2: php:php 、 php-devel
![](https://www.itsource.cn/upload/news/2019-07-25/960eec6d-acf9-461f-bd2e-2da8f34fa09b.png)
扩展包3: pcre-devel:libpcre-devel
![](https://www.itsource.cn/upload/news/2019-07-25/8b25ae53-b151-40fb-b838-07f6517b5432.png)
扩展包4: autoconf
![](https://www.itsource.cn/upload/news/2019-07-25/428b83b8-269b-474b-a281-db697c314291.png)
扩展包5: c++:gcc-objc++ 、 libc++devel 、 libc++1
扩展名6: json: php_json
![](https://www.itsource.cn/upload/news/2019-07-25/fe275bbc-8b74-445b-aa18-81f8a135495e.png)
预览并确认要安装的包
![](https://www.itsource.cn/upload/news/2019-07-25/a4ceabeb-fbf3-4698-a7e0-2f351bf8fbf9.png)
下载并安装扩展名(可以出去走一圈了,需要10分钟左右)
![](https://www.itsource.cn/upload/news/2019-07-25/72f6deda-047e-4623-aabb-a1d914d6135e.png)
安装完成,创建桌面和开始菜单快捷方式
![](https://www.itsource.cn/upload/news/2019-07-25/e7c3c233-034a-4915-8f89-51d29012342b.png)
双击桌面快捷方式 Cygwin64 Terminal 打开类似linux的命令行,可以执行常见的linux命令
二、安装swoole
![](https://www.itsource.cn/upload/news/2019-07-25/94f2d929-e31f-48fb-bcf7-1611db2a33a9.png)
将swoole官方网站上下载的源码解压出来
![](https://www.itsource.cn/upload/news/2019-07-25/ecf163bc-a6e9-4925-83fe-bcf3ecf3d3fe.png)
将解压出来的swoole源码复制到Cygwin安装目录中 /home/swoole-src-master
![](https://www.itsource.cn/upload/news/2019-07-25/524a09d8-063f-425a-8756-d0e907b22919.png)
切换到 /home/swoole-src-master 目录中准备开始安装
![](https://www.itsource.cn/upload/news/2019-07-25/12640790-c5a7-40cc-b59d-0884fbb66c86.png)
执行 phpize 命令,生成编译的配置文件configure,这一步要注意关闭杀毒软件(会误报)
![](https://www.itsource.cn/upload/news/2019-07-25/c405e79b-bf8f-4dc9-aa19-ebb916948f87.png)
执行 ./configure && make && make install 进行配置并打包,最后安装
![](https://www.itsource.cn/upload/news/2019-07-25/58406190-41fe-4dff-89cf-07022429264e.png)
安装成功!!!
![](https://www.itsource.cn/upload/news/2019-07-25/ca80955e-73de-4fef-9238-53fc447d9011.png)
手动打开 /etc/php.ini ,添加扩展 extension=swoole.so
![](https://www.itsource.cn/upload/news/2019-07-25/db936823-fa2b-43e9-8e1d-6608fafac783.png)
再执行 php -m 命令即可查看php支持的模块,能看到swoole就算是成功了。
总结,在Cygwin里面安装swoole时,报 configure: error: C++ preprocessor "/lib/cpp" fails sanity check 错误是因为未安装C++解释器造成的,只需要删除重新安装时选择C++解释器即可。