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

September 7, 2018,
tags: php swoole pecl


このエントリーをはてなブックマークに追加

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
comments powered by Disqus