swoole安裝及報錯上的一點經驗
初學swoole的時候,對于安裝上出現的一些小小的問題總結了一下,在此分享。
環境依賴:
swoole-1.x 需要 php-5.3.10 或更高版本,swoole-2.x 需要 php-7.0.0或更高版本。
安裝:(下面是我進行的安裝步驟)
[root@dev?~]#?cd?/usr/local/src
下載
[root@dev?src]#?wget?http://pecl.php.net/get/swoole-1.9.3.tgz
解壓
[root@dev?src]#?tar?-zxvf?swoole-1.9.3.tgz
查找一下phpize的位置,find / -name phpize
[root@dev?src]#?cd?swoole-1.9.3[root@dev?swoole-1.9.3]#?/usr/local/php/bin/phpize
swoole文檔上沒帶參數
[root@dev?swoole-1.9.3]#?./configure [root@dev?swoole-1.9.3]#?make?&&?make?install
然后在php.ini里配置,用phpinfo找一下php.ini的位置
[root@dev?swoole-1.9.3]#?vim?/etc/php.ini extension=swoole.so
完成之后重啟,service php-fpm restart , 然后報如下錯誤:
swoole:?Unable?to?initialize?module?Module?compiled?with?module?API=20090626 PHP?compiled?with?module?API=20121212?These?options?need?to?match?in?Unknown?on?line?0
每次編譯完swoole.so都會出現在/usr/lib/php/modules/這個目錄,并且會覆蓋原有的
修改 extension=/usr/lib/php/modules/swoole.so,錯誤仍是這樣。
第二次重新安裝:
其他步驟不變,修改 ./configure
./configure?--with-php-config=/usr/local/php-5.6.27/bin/php-config
以上指令中,用 php -v 查一下服務器中php的版本,我的是php-5.6.27
然后make && make install 分開執行,先執行 make ,再執行 make install ,
make install 之后提示了這個路徑 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
修改extension=swoole.so
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/swoole.so
service php-fpm restart,沒有報錯
php -m , swoole有了。
phpinfo查看,swoole擴展也有了。
注:此外我第一次安裝時,php是5.6.27版本,swoole是1.9.3版本,雖然swoole看似安裝成功了,但實際上 并沒有真正成功。
原因可能是swoole版本高了點,或許是其他依賴環境的問題。后面降低版本,php是5.4.45版本,swoole是1.7.6版本。所以如果有其他朋友遇到安裝上不明白的問題,先多問問別人,實在不行更換版本也是不錯的選擇。