Heim > Artikel > PHP-Framework > Lösung für das Problem beim Kompilieren und Installieren von Swoole auf dem Mac, dass die .h-Datei nicht existiert
1. Eigentlich hätte ich wirklich nicht erwartet, dass der Installationsprozess so sein würde Emmm... Wie man es beschreibt, es ist eigentlich nicht schwierig, wenn man sagt, dass es schwierig ist, aber es ist ziemlich ekelhaft und von Natur aus des Mac Verschiedene Probleme, die durch die eigene Umgebung des Computers verursacht werden und einige Dateien nicht automatisch laden.
2. Außerdem gibt es wirklich nur sehr wenige Informationen zu dieser Art von Frage, also notieren Sie sie.
und Xcode ist nicht installiert.
Die lokale Version wird mit PHP-Version 7.3 geliefert.
Das Konfigurationstool für die lokale Umgebung verwendet MxSrvs, eine Mac-Version der PHP-Entwicklungsumgebung. Offizielle Website des Tools: http://www.xsrvs.com/ Obwohl das Tool klein ist, verfügt es über alle wichtigen Funktionen und ist für die Entwicklung völlig ausreichend.
Offizielle Website-Anforderungen
Noch etwas ist hier zu sagen: Obwohl der Beamte nicht angibt, wie viele Versionen oder höher von Autoconf erforderlich sind, sind beim Kompilieren und Installieren 2.68 und höher erforderlich.
Laden Sie das Quellcodepaket von Git herunterDownload-Adresse, was ich heruntergeladen habe, ist
Da es lokal ist, lege ich das heruntergeladene Paket direkt in das Konsolenverzeichnis, ohne etwas auf die CD zu schreiben Verzeichnis oder etwas Ähnliches und führen Sie dann den folgenden Code aus. Da ich ihn im Tool in die PHP-Version kompilieren möchte, verwende ich den vom Tool bereitgestellten. phpzie
/Applications/MxSrvs/bin/php/bin/phpize./configure \--enable-openssl \--enable-http2 \make && sudo make installEs überrascht nicht, dass ich auf Problem 1 gestoßen bin. Weder Baidu noch Bing haben etwas im Zusammenhang mit diesem Problem gefunden. Dann habe ich einige Gruppenfreunde gefragt, und einige Leute sagten, es liege daran, dass die Version zu hoch sei und dass Swoole am besten geeignet sei. Die Version ist Version 7.2. Am Ende hat mich die Antwort, die auf den Kern der Frage hinweist, inspiriert. Die allgemeine Antwort bedeutet, dass ab macOS 10.10 und späteren Versionen die mit dem Mac gelieferte PHP-Version einige Ordner gelöscht hat, das heißt: das mitgelieferte PHP
Für die Kompilierung und Installation sind keine Dateien erforderlich.很 Da wir den Grund kennen, ist es tatsächlich sehr gelöst, dass wir es nicht mit einer eigenen Umgebung entwickeln. Daher müssen wir nur überlegen, wie wir es dynamisch auf die Systemumgebungsvariablen anwenden können. Da ich den Pfad der Systemumgebungsvariablen bereits zuvor festgelegt habe und einen kleinen Eindruck davon habe, habe ich herausgefunden, wie die Umgebungsvariable festgelegt wird. Tatsächlich legen Sie die Umgebungsvariablen über .bash_profile fest
Nach dem Neustart müssen Sie jedoch jedes Mal
source ~/.bash_profilein die Befehlszeile eingeben, damit es wirksam wird, was für uns problematischer ist Laden Sie die .zshrc-Datei automatisch. Mechanismus zum Hinzufügen von
source ~/.bash_profileam Ende der Datei, sodass nicht jedes Mal eine manuelle Eingabe erforderlich ist. Um den Zweck des dynamischen Festlegens von Umgebungsvariablen zu erreichen.
An diesem Punkt ist das erste Problem gelöst.
Die zweite Installation wurde fortgesetzt, und dann trat das zweite Problem auf. Die Lösung dieses Problems ist relativ kompliziert.
Tatsächlich sind die aufgetretenen Probleme im Wesentlichen die gleichen. Sie sind alle darauf zurückzuführen, dass die mit dem Mac gelieferte Software nicht über diese .h-Header-Datei verfügt. Das erste Problem liegt an den an das Tool gebundenen Variablen sich ändernde Umgebungsvariablen implementiert, ist eine clevere Möglichkeit, damit umzugehen. Logischerweise wird diese Erweiterung von OpenSSL an vielen Stellen verwendet, sodass sie in der gesamten Umgebung Ihres eigenen Computers installiert wird.
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 ,等待编译完成就可以了
打完收工!
Das obige ist der detaillierte Inhalt vonLösung für das Problem beim Kompilieren und Installieren von Swoole auf dem Mac, dass die .h-Datei nicht existiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!