一直做移动客户端,但是光有客户端也无法成就一个真正的项目,所以决定学习服务器的开发。之前知道使用java的servlet开发方式,但是现在发现这种方式好像有点过时了,现在很多使用框架的方式进行快速开发,而我现在也需要更快速地搭建一个服务器框架,就在网上寻找方便的开源应用或者游戏服务器框架,终于找到一个基于swoole扩展的php的web server和应用服务器。
我目前使用的是mac pro进行开发,所以需要在mac机器上安装swoole的php扩展。那么现在就来看看是如何配置在mac上的swoole环境吧。
一、当前开发环境:
系统版本:mac os x 10.9.4
php版本:php 5.4.24
mysql版本:mysql 5.5.28
二、配置过程
1、首先打开swoole官方网页:http://www.swoole.com,官方网页中有文档和视频教程可参照进行配置。
2、下载最新版本的swoole,打开https://github.com/swoole/swoole-src/releases, 我选择的稳定版本swoole-1.7.13-stable进行下载
3、这个时候就可以参照文档中的http://wiki.swoole.com/wiki/page/6.html进行配置了。
4、我选择的是它推荐方式
cd swoole
phpize
./configure
make
sudo make install
a、但是在phpize时遇到第一个问题,再看报错信息,./configure: No such file or directory,未生成configure文件。查找原因是autoconf未安装。那么就需要进行安装autoconf,百度之下发现要先安装Homebrew;
b、brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令。brew类似ubuntu系统下的apt-get的功能,那么如何安装brew呢?打开命令行,输入命令
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
即可。brew -v可以查看到已安装的brew的信息;
c、这个时候可以安装autoconf了,输入命令brew install autoconf,不过这个时候会报错,那么在前面加一个sudo即可,输入命令
sudo brew install autoconf
等待片刻,autoconf安装完毕,这个时候可以重新进行phpize命令了,就可以看到生成了好几个文件,其中包括了configure文件;
d、继续执行命令
./configure
e、再执行命令
make
这时,再次遇到编译问题fatal error: 'php.h' file not found,再次寻找解决方案,这个时候需要用到Xcode,将Xcode中的include文件夹连接到/usr/include中,可以使用到命令
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include /usr/include
地址可以右键点击xcode图标,选择显示包内容,然后根据上诉地址查找到相对应的include地址,其中MacOSX10.8.sdk为自己的地址,可能需要修改,如果出现找不到文件夹/usr/include的情况的话,那么可以给xcode安装命令行Command Line Tool工具,可以使用命令行方式安装,命令
xcode-select --install;
f、之后再次出现报错fatal error: 'pcre.h' file not found,原因是由于缺少了pcre开发包所导致的,那么就需要安装pcre包,根据上面的经验,我选择使用sudo brew install pcre试试,安装成功,如果有问题只要保证/usr/include文件夹中有需要的h文件即可;
g、这个时候重新进行make,成功通过;
h、接着
sudo make install
成功;
i、这个时候需要给php添加扩展了,命令行输入
cd /private/etc
open .
打开文件夹,可以看到php.ini文件没有的话将php.ini.default文件拷贝一份修改名字为php.ini即可。
j、修改php.ini文件,添加extension=swoole.so,重启php服务或者注销等操作之后,就可以通过php -m或phpinfo()来查看是否成功加载了swoole扩展。
好了这个时候就能在php代码中使用swoole框架了。
参考资料:
http://blog.csdn.net/sqc3375177/article/details/23662755
http://blog.sina.com.cn/s/blog_48d40b7a0101h2zj.html
http://wangye.org/blog/archives/313/
http://www.jb51.net/os/MAC/101860.html
http://blog.csdn.net/dracotianlong/article/details/21816543
http://www.phperz.com/article/15/0102/42077.html
http://www.swoole.com
http://wiki.swoole.com/wiki/page/1.html