Swoole安裝步驟

參考:https://www.jianshu.com/p/fa2cbf1a9e26

1.更新源

yum update

2.安裝pecl(默認安裝 php7.2 沒有pecl,如果已經安裝可忽略)

yum install php72w-devel
yum install php72w-pear

 3.安裝 swoole

pecl install swoole

3.1補充: 關於 Swoole 安裝配置選項:(特別注意:如果有些擴展沒安裝,yes之後後面會報錯)

// 是否啓用 Debug 跟蹤調試
// 啓用後,會在命令行中輸出 Debug 跟蹤 log,我一般禁用此項。
enable debug/trace log support? [no] : no
// 是否啓用 PHP Sockets 支持
// 如果你需要用 PHP 編寫 Sockets 服務,可以啓用此項。
enable sockets supports? [no] : yes
// 是否啓用 OpenSSL 支持
// 是否啓用 SSL 加密,如果你是通過 Swoole 提供對外的 HTTPS 服務,則需要啓用此項。
// 我的 Mac 是本地開發用,所以不啓用。
enable openssl support? [no] : no
// 是否啓用 HTTP2 支持
// 瞭解 HTTP2 新特性 https://zh.wikipedia.org/wiki/HTTP/2
enable http2 support? [no] : yes
// 是否啓用異步 Redis 支持
// Swoole 實現了一套支持異步的 Redis 服務端框架
// https://wiki.swoole.com/wiki/page/p-redis_server.html
enable async-redis support? [no] : yes
// 是否啓用 MySQL 原生支持
enable mysqlnd support? [no] : yes
// 是否啓用 PgSQL 協程客戶端支持
enable postgresql coroutine client support? [no] : yes

成功信息

Installing '/usr/lib64/php/modules/swoole.so'
Installing '/usr/include/php/ext/swoole/config.h'
install ok: channel://pecl.php.net/swoole-4.3.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini

 

4. 修改配置 

vi /etc/php.ini 中加入
extension=swoole.so

5.重啓

service php-fpm restart
service httpd restart

6.查看

php -m 或者 phpinfo() 查看是否有swoole

7.問題1

PHP Startup: Unable to load dynamic library 'swoole.so' (tried: 
/usr/lib64/php/modules/swoole.so (/usr/lib64/php/modules/swoole.so: cannot open shared 
object file: No such file or directory), /usr/lib64/php/modules/swoole.so.so 
(/usr/lib64/php/modules/swoole.so.so: cannot open shared object file: No such file or 
directory)) in Unknown on line 0


解決方法:把3.1補充說明內的全部擴展全部安裝一遍

8.問題2

問題,如果使用php -m或者 phpinfo()查看不到swoole

解決方法:(確定安裝和配置都沒有問題)
1、如果使用兩種方法都無法查看swoole,那麼請執行第五步重啓
2、如果使用php -m無法查看swoole,請使用命令service php-fpm restart重啓
3、如果使用phpinfo()無法查看swoole,請使用命令service httpd restart重啓

9.問題3

問題 C++ preprocessor “/lib/cpp” fails sanity check

解決方法:沒有c++庫
yum install glibc-headers
yum install gcc gcc-c++ gcc-g77

10.問題4

問題:fatal error: openssl/ssl.h: No such file or directory

解決方法:沒有openssl/ssl此類文件或目錄
yum install openssl-devel

11.問題5

問題:error “Enable http2 support, require nghttp2 library.

wget https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.bz2
tar -xjf nghttp2-1.34.0.tar.bz2

12.問題6

問題PHP Warning: Module 'swoole' already loaded in Unknown on line 0

解決方法:
在修改配置時extension=swoole.so別放在最後,最好放在extension=sockets.so後面,

 

發佈了679 篇原創文章 · 獲贊 77 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章