2018年09月07日
Swooleが気になったのでインストールした
GitHub - swoole/swoole-src: Coroutine-based concurrency library for PHP (Like Golang)
phpenvなローカルMacの環境にswooleを入れてみました。
インストール
peclで入れます。
$ pecl install swoole
途中でサードパーティライブラリの選択を迫られます。 今回は以下の通り。
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ファイルを用意します。
; vim /etc/php/conf.d/swolle.so
extension=swoole.so
最後にswooleが入っているか確認します。
$ php -m | grep swoole
swoole
これで無事入っている事が確認できました。
基本的には簡単にインストールできますが、いくつかハマったポイントもありました。 僕が遭遇した事案に関しては以下に記述しておきます。
peclがない
Phpenv標準だとpeclが入ってないです。 オプションを追加して再度インストールしてください。
PHP_BUILD_CONFIGURE_OPTS=--with-pear PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.2.5
参考: phpenvでpeclとimagick入れる · polidog lab++
nghttp2がない
#error "Enable http2 support, require nghttp2 library."
インストールの途中でこんなエラーメッセージでたら、nghttp2をれましょう。’
$ brew install nghttp2
Redisのライブラリのエラーがでる
make: *** [swoole_redis.lo] Error 1
hiredisがないのでインストールしましょう。
$ brew install hiredis