溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

swoole mac編譯錯(cuò)誤的解決方法

發(fā)布時(shí)間:2021-01-18 14:47:03 來(lái)源:億速云 閱讀:262 作者:小新 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)swoole mac編譯錯(cuò)誤的解決方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

swoole mac編譯錯(cuò)誤怎么辦?mac 安裝 swoole 可能會(huì)出現(xiàn)的錯(cuò)誤

請(qǐng)先看完之后再操作

一、用pecl安裝swoole(沒(méi)有安裝起來(lái))

2018年4月,由于homebrew的變動(dòng),導(dǎo)致無(wú)法使用brew install的方式安裝php的擴(kuò)展,現(xiàn)在改為用pecl安裝,pecl安裝swoole的方法為:

pecl install swoole

出現(xiàn)在選項(xiàng)要填yes還是no

可能出現(xiàn)的報(bào)錯(cuò)及解決方法

1 fatal error: ‘openssl/ssl.h‘ file not found

解決方法1:cp -R /usr/local/opt/openssl/include/openssl /usr/local/include

解決方法2:ln -s /usr/local/opt/openssl/include/openssl /usr/local/include/openssl

原因:一般用brew安裝的軟件,都會(huì)把需要include的文件自動(dòng)放到/usr/local/include里的,但是不知為什么安裝openssl的時(shí)候沒(méi)有放到那里,所以要自己拷過(guò)去,其實(shí)最好的方法是做一個(gè)鏈接,即用解決方法2!

2 error: Cannot find libpq-fe.h. Please confirm the libpq or specify correct PostgreSQL(libpq) installation path

解決方法 brew reinstall PostgreSQL

原因:可能是沒(méi)有安裝PostgreSQL

3 fatal error: ‘hiredis/hiredis.h‘ file not found

出現(xiàn)這個(gè)原因絕大多數(shù)是因?yàn)闆](méi)有安裝hiredis,用brew search hiredis看看有沒(méi)安裝,沒(méi)有安裝直接用brew install hiredis安裝后,再次pecl install swoole就可以

細(xì)心的童鞋會(huì)發(fā)現(xiàn),brew install hiredis后,/usr/local/include里,多了一個(gè)hiredis,而且這個(gè)是一個(gè)軟鏈,鏈接到/usr/local/Cellar/hiredis/0.13.3/include/hiredis

結(jié)果還是報(bào)錯(cuò),沒(méi)有搞定,能力有限.

二、換了個(gè)方式 安裝swoole(完美解決)

2.1 下載swoole

sudo pecl download swoole

2.2 編譯安裝

tar zxvf swoole-4.2.12.tgz    // 注意自己下載的版本,可能不一定
cd swoole-4.2.12
phpize
./configure --enable-openssl --enable-http2 --enable-sockets --enable-mysqlnd -with-openssl-dir=/usr/local/Cellar/openssl/1.0.2s/
make clean && make && sudo make install

2.3 遇到報(bào)錯(cuò)

mkdir: /usr/local/Cellar/php@7.1/7.1.30/pecl: File exists
mkdir: /usr/local/Cellar/php@7.1/7.1.30/pecl: No such file or directory
make: *** [install-modules] Error 1
// 大致意思就是 pecl  文件夾存在,但是打不開(kāi)
// 我的pecl是軟連接過(guò)來(lái)的 不知道為什么打不開(kāi)

2.4 解決方法

修改 /usr/local/Cellar/php@7.1/7.1.30/bin/php-config

extension_dir=‘/usr/local/Cellar/php@7.1/7.1.30/pecl/20160303‘ 中的 『pecl』 換成 『lib/php』
extension_dir=‘/usr/local/Cellar/php@7.1/7.1.30/lib/php/20160303‘

2.5 重新編譯

./configure --enable-openssl --enable-http2 --enable-sockets --enable-mysqlnd -with-openssl-dir=/usr/local/Cellar/openssl/1.0.2s/
make clean && make && sudo make install

2.6 添加 swoole.so

修改php.ini 在文件末尾 加一行

extension = "/usr/local/Cellar/php@7.1/7.1.30/lib/php/20160303/swoole.so"

關(guān)于“swoole mac編譯錯(cuò)誤的解決方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI