# 环境的搭建 thinkphp5的环境搭建相信大家已经不是什么难题,再此就不在赘述(不会的同学看tp的官方文档) # swoole扩展的环境选择 1.Windows环境,官方推荐使用CygWin,CygWin主要的功能其实类似虚拟机,我们大家既然是专业的程序员,那么我是不建议使用这个的,建议直接linux环境使用 2.Linux环境,首先还是先装基础的lnmp环境(不赘述,不会的同学自行百度),接着是我的重点swoole,有一键发布到linux环境的建议使用一键发布代码,没有的可以用ftp上传工具,直接主要文件夹全选拖拽上传,也很方便。 # swoole安装 官方建议使用PECL一键安装,不过我还是建议编译安装, 可以参考:[http://www.cnblogs.com/kevingrace/p/6265054.html](http://www.cnblogs.com/kevingrace/p/6265054.html) 在说说我为什么不建议使用pecl,我在使用的过程中,首先我在虚拟机上有了基础的lnmp环境,然后使用pecl一键安装,可以他却给我另安装了一个不同版本的php,导致一台机器上有两个php,安装目录不同,版本不同,使用php -m可以看到swoole扩展,但是在原来的网址首页使用phpinfo()死活不见swoole扩展,让我好一通找问题找百度,耽误不少时间,最终发现问题所在。 编译安装成功后,修改php.ini加入 [extension=swoole.so](http://extension%3Dswoole.so/) 通过php -m或phpinfo()来查看是否成功加载了swoole,如果没有,可能是php.ini的路径不对,可以使用php -i |grep php.ini来定位到php.ini的绝对路径。 ## 一定要php -m和phpinfo()都加载了swoole,才算安装成功 * * * 同时也把编译安装的过程借鉴过来,如下: 假设服务器上php服务版本为php5.6.26,安装目录为/Data/app/php5.6.26,扩展模块文件路径为/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/ 安装php的扩展模块要注意以下几点: 1)扩展模块的下载包要是最新版的,并且是稳定版的,低版本或bata版本的安装后,php可能加载不起来。 2)当本地服务器上有多个php版本时,扩展模块在编译时一定要加上--with-php-config=/Data/app/php5.6.26/bin/php-config,否则会出现诸如PHP Warning: PHP Startup: swoole: Unable to initialize module...类的报错; 3)扩展模块编译后的.so文件(make && make install后的安装信息里会显示)一定要确保在扩展文件目录/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/下面。如果不在,就手动拷贝! 4)最后别忘了重启php-fpm服务 5)php -m就能列出php的所有加载后的扩展模块 swoole扩展模块的安装有以下两种方式: 第一种:编译安装(swoole官网下载:[http://pecl.php.net/package/swoole)](http://pecl.php.net/package/swoole%EF%BC%89) \[root@dev ~\]# cd /usr/local/src \[root@dev src\]# wget[http://pecl.php.net/get/swoole-1.9.3.tgz](http://pecl.php.net/get/swoole-1.9.3.tgz) \[root@dev src\]# tar -zvxf swoole-1.9.3.tgz \[root@dev src\]# cd swoole-1.9.3 ## \[root@dev swoole-1.9.3\]# /Data/app/php5.6.26/bin/phpize \[root@dev swoole-1.9.3\]# ./configure --with-php-config=/Data/app/php5.6.26/bin/php-config \[root@dev swoole-1.9.3\]# make && make install ........... ........... more information, such as the ld(1) and[ld.so](http://ld.so/)(8) manual pages. Build complete. Don't forget to run 'make test'. Installing shared extensions: /Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/ 然后在php.ini里配置 \[root@dev swoole-1.9.3\]# vim /Data/app/php5.6.26/etc/php.ini ..... extension="/Data/app/php5.6.26/lib/php/extensions/no-debug-non-zts-20131226/swoole.so" 重启php-fpm服务 \[root@dev swoole-1.9.3\]# pkill -9 php-fpm \[root@dev swoole-1.9.3\]# /Data/app/php5.6.26/sbin/php-fpm 最后查看php加载的扩展模块: \[root@dev swoole-1.9.3\]# /Data/app/php5.6.26/bin/php -m ............ swoole