ホームページ >PHPフレームワーク >Swoole >swoole macのコンパイルエラーが発生した場合の対処方法

swoole macのコンパイルエラーが発生した場合の対処方法

藏色散人
藏色散人オリジナル
2020-04-09 10:20:442300ブラウズ

swoole macのコンパイルエラーが発生した場合の対処方法

swoole Mac でコンパイル エラーが発生した場合はどうすればよいですか? Mac に swoole をインストールするときに発生する可能性のあるエラー

続行する前にこれをお読みください

1. pecl を使用して swoole をインストールします (インストールされていません)

2018 年 4 月に homebrew の変更により、php 拡張機能のインストールに brew install を使用できなくなりましたが、現在は pecl を使用してインストールされています。pecl で swoole をインストールする方法は次のとおりです:

pecl install swoole

オプションに表示されます 記入してくださいはいまたはいいえ

考えられるエラーと解決策

1 致命的なエラー: 'openssl/ssl.h' ファイルが見つかりません

解決策 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 でインストールされたソフトウェアは、インクルードする必要のあるファイルを自動的に /usr/local/include に配置しますが、openssl のインストール時になぜそこに配置されなかったのかわからないため、自分でコピーする必要があります。以前は、リンクを作成する、つまり解決策 2 を使用するのが最良の方法でした。

2 エラー: libpq-fe.h が見つかりません。libpq を確認するか、正しい PostgreSQL(libpq) インストール パスを指定してください

解決策 brew reinstall PostgreSQL

原因: PostgreSQL の可能性がありますがインストールされていません

3 致命的なエラー: 'hiredis/hiredis.h' ファイルが見つかりません

この理由のほとんどは、hiredis がインストールされていないためです。インストール. インストールがない場合は、brew install hitis を使用してインストールしてください。その後、もう一度 pecl install swoole を実行してください。

注意深い子供たちは、brew install hitis を実行した後、/usr/ に追加の hitis があることに気づくでしょう。 local/include、これはソフト リンクで、/usr/local/Cellar/hiredis/0.13.3/include/hiredis

にリンクされています。結果はまだエラーであり、解決されていません。

2. 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エラーが発生しました

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  文件夹存在,但是打不开
// 我的pecl是软连接过来的 不知道为什么打不开

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"

Mac に swoole をインストールするのは本当に面倒です

以上がswoole macのコンパイルエラーが発生した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。