想写个爬虫,看到有人用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,环境跟我本机一模一样,但是我在阿里云上运行 一次成功!并没有上面这样!权限!权限啊!!!!
本站(PHP --> Golang)已重构,代码开源
当你能力不能满足你的野心的时候,你就该沉下心来学习