ホームページ >PHPフレームワーク >Swoole >Mac で Swoole をコンパイルしてインストールするときに .h ファイルが存在しない問題の解決策
1. 実は、インストールプロセスがこんなに大変になるとは思っていませんでした…うーん、何と表現すればいいのか、そんな感じです。 、難しいと言えば難しくありませんが、それは非常に嫌でもあり、Mac のネイティブ環境によって引き起こされるさまざまな問題や、一部のファイルが自動的に読み込まれないことがあります。
2. また、この種の質問に関する情報は非常に少ないため、記録してください。
Xcode はインストールされていません。
ローカル バージョンには PHP バージョン 7.3 が付属しています
ローカル環境構成ツールは、Mac バージョンの PHP 開発環境である MxSrvs を使用します。ツールの公式 Web サイト: http://www.xsrvs.com/ このツールは小さいですが、必要なものがすべて揃っており、開発には十分です。
ここでもう 1 つの文ですが、公式では AutoConf にあと何バージョン必要かは明記されていませんが、コンパイルとインストールには 2.68 以上が必要です。
#Git からソース コード パッケージをダウンロードします。
/Applications/MxSrvs/bin/php/bin/phpize./configure \--enable-openssl \--enable-http2 \make && sudo make install
当然のことながら、問題 1 に遭遇しました。Baidu も Bing も、この問題に関連するものは何も見つかりませんでした。その後、グループの友人に尋ねたところ、バージョンが高すぎるためだと言う人もいました。最適なバージョンSwoole のバージョンは 7.2 です。
結局、質問の本質を指摘した答えが私にインスピレーションを与えてくれました。一般的な答えは、macOs 10.10 以降のバージョンから、Mac に付属の PHP バージョンがいくつかのフォルダーをキャンセルしたことを意味します。つまり、付属の PHP には、コンパイルとインストールに必要なファイル
が含まれていないためです。理由がわかれば、実際には解決するのは簡単です。結局のところ、独自の環境を使用している開発者はほとんどいないため、ツールで使用される PHP バージョンをシステム環境に動的に追加する方法を検討するだけで済みます。変数。 。以前にシステム環境変数のパスを設定したことがあり、少し印象に残っているので、環境変数の設定方法を考えてみました。 実際には、.bash_profile を通じて環境変数を設定します。
ただし、再起動後は、毎回コマンド ラインに
source ~/.bash_profileと入力する必要があります。問題は、Mac のメカニズムを使用して .zshrc ファイルを自動的にロードし、ファイルの末尾に
source ~/.bash_profileを追加することで、毎回手動で入力する必要がないようにすることができます。環境変数を動的に設定する目的を達成するため。
この時点で、最初の問題は解決されました。
2 番目のインストールを続行すると、2 番目の問題が発生します。この問題の解決は比較的迂遠です。
実際、発生する問題は本質的に同じです。これらはすべて、Mac に付属のソフトウェアにこの .h ヘッダー ファイルがないため、これらの問題が発生します。最初の問題は、ツールへのバインドです。変数、論理的に言えば、openssl のこの拡張機能は多くの場所で使用されるため、自分のマシンの環境全体にインストールされます。
brew install openssl
を実行するように求められます。
brew reinstall openssl@1.1
其中有一句,就是让把这个添加到
If you need to have openssl@1.1 first in your PATH run: echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc
把这个也添加之前修改过的 .zshrc 文件即可。
接下来就是重头戏了。说白了就是简单的粘贴复制,把 openssl 的文件夹,路径为
/usr/local/Cellar/openssl@1.1/1.1.1h/include/openssl
复制到
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/
目录下即可
至此,第二个问题解决。
然后再运行编译 Swoole ,等待编译完成就可以了
打完收工!
以上がMac で Swoole をコンパイルしてインストールするときに .h ファイルが存在しない問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。