Swoole擴(kuò)展是按照php標(biāo)準(zhǔn)擴(kuò)展構(gòu)建的。使用phpize來生成php編譯配置,./configure來做編譯配置檢測,make進(jìn)行編譯,make install進(jìn)行安裝。
安裝swoole前必須保證系統(tǒng)已經(jīng)安裝了下列軟件
php-5.3.10 或更高版本 gcc-4.4 或更高版本 make autoconf
下載源代碼包后,在終端進(jìn)入源碼目錄,執(zhí)行下面的命令進(jìn)行編譯和安裝
cd swoole phpize ./configure make sudo make install
(注:swoole的./configure有很多額外參數(shù),可以通過./configure --help命令查看,這里僅開啟其中async-mysql項(xiàng),其他均選擇默認(rèn)項(xiàng)) 這里是./configure編譯配置的額外參數(shù),用于開啟某些特性
swoole項(xiàng)目已收錄到PHP官方擴(kuò)展庫,除了手工下載編譯外,還可以通過PHP官方提供的pecl命令,一鍵下載安裝swoole
pecl install swoole
編譯安裝成功后,修改php.ini加入
extension=swoole.so
通過php -m或phpinfo()來查看是否成功加載了swoole,如果沒有可能是php.ini的路徑不對,可以使用php -i |grep php.ini來定位到php.ini的絕對路徑。
NOTICE: PHP message: PHP Warning: PHP Startup: 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
php版本和編譯時(shí)使用的phpize和php-config不對應(yīng),需要使用絕對路徑來進(jìn)行編譯。使用絕對路徑執(zhí)行PHP。
/usr/local/php-5.4.17/bin/phpize ./configure --with-php-config=/usr/local/php-5.4.17/bin/php-config /usr/local/php-5.4.17/bin/php server.php
php_mysqli_structs.h:64:23: fatal error: my_global.h: No such file or directory
沒有找到mysqlclient的頭文件,需要安裝mysqlclient-dev
建議自行編譯php,不要使用Linux包管理系統(tǒng)自帶的php版本
fatal error: pcre.h: No such file or directory
原因是缺少pcre,需要安裝libpcre
phpize命令需要autoconf工具,請先安裝它。
make install需要root權(quán)限,如果不是以root用戶登錄的,請用sudo或su,再進(jìn)行安裝。
php -i|grep php.ini
查看加載的php.ini路徑,確認(rèn)加載了正確的php.ini。
修改php.ini,打開錯(cuò)誤顯示,查看是否存在啟動(dòng)時(shí)錯(cuò)誤。
display_errors => On display_startup_errors => On
你的PHP版本低于PHP-5.3.10,請升級PHP版本。
不要?dú)怵H,加入我們的開發(fā)組QQ群:495864936,你的問題會在24小時(shí)內(nèi)被解決。
更多建議: