centos7.2安裝swoole擴展


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

備注(安裝過程中有可能會出現下面錯誤)

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補充說明內的全部擴展全部安裝一遍

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

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

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

解決方法:沒有c++庫

yum install glibc-headers yum install gcc gcc-c++ gcc-g77 

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

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

yum install openssl-devel

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 

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

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

作者:最底層的技術渣
鏈接:https://www.jianshu.com/p/fa2cbf1a9e26
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM