Featured image of post Swooleが気になったのでインストールした

Swooleが気になったのでインストールした

Twitter ツイート Hatena Bookmark ブックマーク

GitHub - swoole/swoole-src: Coroutine-based concurrency library for PHP (Like Golang)

phpenvなローカルMacの環境にswooleを入れてみました。

インストール

peclで入れます。

1
$ pecl install swoole

途中でサードパーティライブラリの選択を迫られます。 今回は以下の通り。

1
2
3
4
5
6
7
enable debug/trace log support? [no] : yes
enable sockets supports? [no] : yes
enable openssl support? [no] : yes
enable http2 support? [no] : yes
enable async-redis support? [no] : yes
enable mysqlnd support? [no] : yes
enable postgresql coroutine client support? [no] : no

あとはインストールが終わったらiniファイルを用意します。

1
2
3
; vim /etc/php/conf.d/swolle.so

extension=swoole.so

最後にswooleが入っているか確認します。

1
2
$ php -m | grep swoole
swoole

これで無事入っている事が確認できました。

基本的には簡単にインストールできますが、いくつかハマったポイントもありました。 僕が遭遇した事案に関しては以下に記述しておきます。

peclがない

Phpenv標準だとpeclが入ってないです。 オプションを追加して再度インストールしてください。

1
PHP_BUILD_CONFIGURE_OPTS=--with-pear PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.2.5

参考: phpenvでpeclとimagick入れる · polidog lab++

nghttp2がない

1
#error "Enable http2 support, require nghttp2 library."

インストールの途中でこんなエラーメッセージでたら、nghttp2をれましょう。’

1
$ brew install nghttp2

Redisのライブラリのエラーがでる

1
make: *** [swoole_redis.lo] Error 1

hiredisがないのでインストールしましょう。

1
$ brew install hiredis
comments powered by Disqus
Built with Hugo
テーマ StackJimmy によって設計されています。