thinkphp5的环境搭建相信大家已经不是什么难题,再此就不在赘述(不会的同学看tp的官方文档) # swoole扩展的环境选择 1.Windows环境,官方推荐使用CygWin,CygWin主要的功能其实类似虚拟机,我们大家既然是专业的程序员,那么我是不建议使用这个的,建议直接linux环境使用 2.Linux环境,首先还是先装基础的lnmp环境(不赘述,不会的同学自行百度),接着是我的重点swoole,有一键发布到linux环境的建议使用一键发布代码,没有的可以用ftp上传工具,直接主要文件夹全选拖拽上传,也很方便。 # swoole安装 官方建议使用PECL一键安装,不过我还是建议编译安装, 可以参考:http://www.cnblogs.com/kevingrace/p/6265054.html 在说说我为什么不建议使用pecl,我在使用的过程中,首先我在虚拟机上有了基础的lnmp环境,然后使用pecl一键安装,可以他却给我另安装了一个不同版本的php,导致一台机器上有两个php,安装目录不同,版本不同,使用php -m可以看到swoole扩展,但是在原来的网址首页使用phpinfo()死活不见swoole扩展,让我好一通找问题找百度,耽误不少时间,最终发现问题所在。 编译安装成功后,修改php.ini加入 extension=swoole.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) [root@dev ~]# cd /usr/local/src [root@dev src]# wget 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(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