swoole扩展 初体验

想写个爬虫,看到有人用swoole和php抓取知乎,于是想了解了解这个swoole

不得不说,这个东西的文档真的是坑啊!!!

怪不得这么牛逼的东西,用的人不是非常多,我猜百分之九十的就是因为文档的关系

先到官网看下文档,说要下载

下载框架地址

 https://github.com/swoole/framework 

下载框架,看到文档里说要pecl install swoole

于是提示

Package "swoole" Version "1.8.12" does not have REST dependency information available install failed

真的是。。。。发现好像没有pecl 扩展,于是安装 pecl扩展。。。

网上都说 这个 sudo apt-get install php5-dev 这个命令来安装,发现安装后,没有这个依赖包,才发现这个包应该是很久之前的,我的是ubuntu16.04版本,没有这个,最终在 stackoverflow 上找到这个命令 sudo apt-get install libpcre3-dev 于是就可以了!

再执行 pecl install swoole 还是报错

Cannot install, php_dir for channel "pecl.php.net" is not writeable by the current user 没有权限执行

没办法,我的ubuntu默认是我的用户名,非root

改变权限,

 $ pecl config-get php_dir
 /usr/local/php/lib/php

 sudo chown iphptcom:iphptcom -R /usr/local/php/lib/php

然后再执行pecl install swoole

可以运行了!!!!

但是好运不会太久,下载几次都是

ERROR: unable to unpack /tmp/pear/download/swoole-1.8.12.tgz

真是fuck 没办法,从官方下载一个 地址:https://github.com/swoole/swoole-src/releases

然后复制到了tmp/pear/download/下面,再继续执行pecl install swoole

直到看到了

 Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/swoole.so'
install ok: channel://pecl.php.net/swoole-1.8.12
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini

真的是FUCK啊!!

接下来找到php.ini文件,加入 extension=swoole.so
再执行 sudo service php-fpm restar

最后从php.info或者 php -m 看到了swoole

PS:我阿里云服务器是 ubuntu14.04,环境跟我本机一模一样,但是我在阿里云上运行 一次成功!并没有上面这样!权限!权限啊!!!!


欢迎转载,但请附上原文地址哦,尊重原创,谢谢大家 本文地址: http://www.iphpt.com/detail/56/

当你能力不能满足你的野心的时候,你就该沉下心来学习