Heim > Backend-Entwicklung > PHP-Tutorial > So installieren Sie PHP -Erweiterungen aus der Quelle

So installieren Sie PHP -Erweiterungen aus der Quelle

Joseph Gordon-Levitt
Freigeben: 2025-02-20 09:38:09
Original
399 Leute haben es durchsucht

So installieren Sie PHP -Erweiterungen aus der Quelle

Manchmal ist es schwer zu wissen, welche PHP -Erweiterungen Sie benötigen, bevor Sie PHP installieren. In Fällen, in denen Sie später Erweiterungen hinzufügen müssen, haben Sie möglicherweise Glück und die Erweiterung könnte sich im Repository des von Ihnen verwendeten Betriebssystems befinden. Es könnte nur eine einfache sudo-apt-get-Installation von Php5-intl entfernt sein. In anderen Fällen müssen Sie es jedoch möglicherweise aus der Quelle installieren-Phalcon ist ein solcher Fall, aber das Verfahren macht die Einführung von Anbieterunterstützung, Verknüpfungen und vorgeschriebenen Anweisungen für Ihr Betriebssystem. Was ist, wenn es so etwas für andere Erweiterungen gibt?

In diesem Tutorial werden wir einige benutzerdefinierte Erweiterungen auf Linux -Systemen installieren (und OS X - der Prozess ist nahezu identisch). Das Verfahren ist sehr ähnlich wie bei Nitrous.io, ist jedoch für lokale Umgebungen angepasst - insbesondere für Laravel Homestead. Sie können die Installationsanweisungen aus diesem Tutorial problemlos abgeben und auf andere Distribos anwenden.

Key Takeaways

  • Die Installation von PHP -Erweiterungen aus der Quelle erfordert PHP -Entwicklungstools und einen auf Ihrem Computer installierten Compiler sowie den PHP -Quellcode und den Quellcode der Erweiterung.
  • Der Prozess der Installation von PHP -Erweiterungen aus der Quelle umfasst mehrere Schritte: Herunterladen des Quellcode, die Vorbereitung des Erweiterungsordners für die Kompilierung mit Phpize, Konfigurieren der Umgebung für die Kompilierung, das Kompilieren der Quellen in eine. SO -Datei und verschieben diese Datei in die Datei Aktuelle Extensionsordner der aktuellen PHP -Installation.
  • Nach der Installation müssen die PHP-Erweiterungen aktiviert werden, indem sie in die Php.ini-Datei addiert oder für jede Erweiterung eine separate INI-Datei in einem Ordner erstellt werden, der nach dem Laden von Php.ini automatisch eingeleitet wird.
  • Um Erweiterungen zu entfernen, können Sie das Php5Dismod -Tool verwenden, die Symlinks manuell entfernen oder die Aktivierungsleitungen aus den Php.ini -Dateien entfernen.

booten Sie die VM

Wenn Sie es noch nicht getan haben, lesen Sie den oben verlinkten Homestead -Beitrag und bringen Sie ihn zum Laufen. Unmittelbar nach dem Betrieb einer neuen Homestead -Box sollten Sie dazu in der Lage sein:

So installieren Sie PHP -Erweiterungen aus der Quelle

Das ist vollkommen in Ordnung. Dies geschieht, da der Ordner, der standardmäßig montiert ist, tatsächlich noch keine Dateien enthält. Jetzt Vagrant SSH in die VM und führen Sie die folgenden Befehle aus:

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies erstellt eine gültige PHP -Info -Datei in dem Pfad, auf das Homestead standardmäßig festgelegt wird. Das Aktualisieren der URL erzeugt nun einen Phpinfo -Bildschirm:

So installieren Sie PHP -Erweiterungen aus der Quelle

Vorbereitung der Umgebung

Um Erweiterungen aus der Quelle zu erstellen, benötigen wir die auf unserer Maschine installierten PHP -Entwickler -Tools sowie einen Compiler, der die Erweiterungsdatei erstellen kann. So installieren Sie diese Voraussetzungen in verschiedenen Betriebssystemen:

Ubuntu

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Fedora

<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
Nach dem Login kopieren
Nach dem Login kopieren

rhel

<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
Nach dem Login kopieren
Nach dem Login kopieren

suse

<span>sudo yum install php-devel php-mysql gcc libtool</span>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie das neueste Gehöft verwenden, werden alle diese Tools bereits für Sie installiert. Lassen Sie uns mit der Installation von Erweiterungen beginnen.

Erweiterungen

installieren

Es gibt zwei Arten von Erweiterungen, die Sie installieren können: gebündelt mit PHP, jedoch standardmäßig nicht installiert, und Erweiterungen von Drittanbietern. Erweiterungen von Drittanbietern wie Phalcon erleichtern den Installationsprozess normalerweise erheblich durch Abkürzungen, da sie sich nicht bestimmte Traditionen einhalten müssen, die von PHP -Erweiterungen gebündelt sind.

Gehen wir zunächst in den Home -Ordner auf der VM: CD ~. Erstellen Sie dort einen Download -Ordner und CD hinein. Bei der Installation einer gebündelten Erweiterung benötigen Sie den Quellcode von PHP auf Ihrem Computer, vorzugsweise eine, die Ihrer aktuellen Version entspricht. Die Version Homestead verwendet 5.5.12, daher werde ich das herunterladen:

<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
Nach dem Login kopieren
Nach dem Login kopieren

Ich benutze den belgischen Spiegel oben. Verwenden Sie diesen einen oder anderen anderen aus den Download -Archiven.

Um die Quellen aller gebündelten Erweiterungen anzuzeigen, gehen Sie in den Ext -Ordner im nicht angehaltenen PHP -Quellcodeordner und erstellen Sie eine Liste mit LS.

So installieren Sie PHP -Erweiterungen aus der Quelle

Installieren einer gebündelten Erweiterung

Erstens installieren wir die PHP-INTL-Erweiterung, wenn Sie sie noch nicht installiert haben. Wenn dies der Fall ist, ist dies in Ordnung - der unten angezeigte Installationsverfahren ist für jede gebündelte PHP -Erweiterung identisch. Die INTL -Erweiterung dient zur Internationalisierung - lesen Sie hier mehr, wenn Sie interessiert sind.

Sehen Sie, wie die INTL -Erweiterung die Intensivbibliothek als Voraussetzung benötigt (wie in den Anforderungen angegeben), dies zuerst installieren.

<span>wget http://be2.php.net/distributions/php-5.5.12.tar.bz2
</span><span>tar xvjf php-5.5.12.tar.bz2
</span><span>cd php-5.5.12</span>
Nach dem Login kopieren

Unter anderen Verteilungen können die Installationsanweisungen variieren. Es ist am besten, wenn Sie sich für diesen Schritt auf die ICU -Website oder die Dokumente Ihrer individuellen Verteilung beziehen.

Sobald die Intensivstation installiert ist, machen Sie Folgendes, während Sie noch im Ext -Ordner sind:

<span>sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg</span>
Nach dem Login kopieren

Erklären wir, was los ist.

  • Phpize bereitet den Ordner der Erweiterung zur Einführung vor. Sie können die nachfolgenden Befehle erstellen, indem Sie eine Konfigurationsdatei erstellen und den Ordner der Erweiterung "Denken" im Grunde genommen erstellt. Sie ist PHP selbst. Das Verfahren nach Phpizes ist in der Tat identisch mit dem, was Sie bei der Installation von PHP aus der Quelle tun würden. Nur in diesem Fall wird nur ein Fragment von PHP zusammengestellt und für die Verwendung mit dem bereits kompilierten und installierten Php.
  • hergestellt
  • ./configure-enable-intl konfiguriert die Umgebung für die Kompilierung. Es bereitet alles vor, was der Compiler benötigt, um die intl.so -Datei zu erstellen, die wir verwenden werden. Das Enable-Intl-Flag ist notwendig, obwohl wir uns im INTL-Ordner befinden, da der Ordner effektiv der Meinung ist, dass PHP ist, und wir müssen ihm helfen, diese Illusion zu leben. In diesem Befehl heißt es: "OK, Sie sind den Quellcode von PHP. Kompilieren und installieren Sie nun die INTL -Erweiterung. “In der Tat ist dies der einzige Teil, der aus diesem Ordner installiert werden kann.
  • make wird die Quellen in intl.so kompilieren und platzieren die Datei in den aktuellen Ordner, in dem Sie sich derzeit unter dem Unterordner der Module befinden.
  • sudo make install wird diese Datei in den Erweiterungsordner der aktuellen PHP -Installation verschieben.
Alles, was wir jetzt tun müssen, ist die Erweiterung zu aktivieren, indem wir sie konsumieren lassen. Wir werden das später tun, lassen Sie uns zuerst eine Drittanbieter -Erweiterung zusammenstellen.

Installation einer Erweiterung von Drittanbietern

Wir werden Mongo als Erweiterung von Drittanbietern installieren. Für Mongo stehen Binärverteilungen zur Verfügung, die die Installation einfacher machen. Lassen Sie uns dies jedoch manuell für die Bildung tun. Wir gehen davon aus, dass Sie bereits den tatsächlichen Mongo installieren lassen und sich somit nur auf die PHP -Erweiterung konzentrieren. Wenn Sie nicht Mongo installiert haben, lesen Sie ihre Installationsdokumente.

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

So installieren Sie PHP -Erweiterungen aus der Quelle

Dies hat unsere Mongo.SO -Datei erstellt und in den Erweiterungsordner unserer PHP -Installation gesetzt. Wir werden es im nächsten Abschnitt aktivieren.

Aktivieren und Testen

Um festzustellen, ob die kompilierten .so -Dateien tatsächlich in unserem PHP -Erweiterungsordner enthalten sind, listen Sie den Inhalt auf:

So installieren Sie PHP -Erweiterungen aus der Quelle

Wie Sie sehen können, sind sie in hellgrünem hervorgehoben.

Um sie zu aktivieren, müssen wir Php.ini von ihnen erzählen. Es gibt verschiedene Möglichkeiten, dies zu tun:

  1. Sie können die Linienerweiterung = mongo.so und extension = intl.so direkt in php.ini einfügen. Dies funktioniert und ist in den meisten Fällen ein absolut gültiger Ansatz.
  2. Sie können für jedes von diesen eine separate INI-Datei erstellen, sie in einen Ordner einfügen, der nach dem Laden von Php.ini automatisch eingeleitet wird, und die Trennung und Isolierung von PHP.ini auf diese Weise beibehalten. Dieser Ansatz ist gesünder, aber schwerer zu erreichen.
  3. Sie können 2) und die Standard -Tools zum Aktivieren von PHP -Mods kombinieren. Homestead verwendet diesen Ansatz, und wir auch.
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dieser Ordner ist das Repository aller dieser einzelnen INI -Dateien. Erstellen Sie hier zwei neue Dateien:

<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
Nach dem Login kopieren
Nach dem Login kopieren

Diese Befehle haben zwei neue Ini -Dateien erstellt, jeweils für eine der zuvor erstellten Erweiterungen. Da sie sich jetzt im Ordner Mods-verfügbarer Ordner befinden, können wir das bereits verfügbare Befehlszeilenwerkzeug von PHP5Enmod (Short for PHP Enable Mod) verwenden.

<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
Nach dem Login kopieren
Nach dem Login kopieren

Hinweis: Wenn Sie nicht über das Php5enMod -Tool verfügen, wird die INI -Dateien in den Conf.d -Ordner verschiedener PHP -Laufzeiten symlinieren:

<span>sudo yum install php-devel php-mysql gcc libtool</span>
Nach dem Login kopieren
Nach dem Login kopieren

Der Grund, warum es vier Einträge gibt, ist, dass wir die Befehlszeilenversion von PHP und die FPM -Version von PHP haben. Jeder verwendet eine eigene PHP.ini-Datei, und jeder lädt seinen eigenen Konf.D-Ordner für Erweiterungen. Daher müssen wir beide PHP-Versionen beide Erweiterungen hinzufügen, wenn wir die verfügbaren Allrounds zur Verfügung haben. Verwenden Sie diesen Ansatz nur, wenn Sie das Php5enMod -Tool nicht haben.

schließlich starten wir Nginx und PHP-FPM neu, um diese Änderungen zu laden.

<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
Nach dem Login kopieren
Nach dem Login kopieren

Um festzustellen, ob wir sie installiert haben, aktualisieren Sie den Phpinfo -Bildschirm von vorab und suchen Sie nach Mongo bzw. INTL.

So installieren Sie PHP -Erweiterungen aus der Quelle

Erfolg!

Erweiterungen

entfernen

Um Erweiterungen zu entfernen, müssen keine tatsächlichen Dateien gelöscht werden, es sei denn, Sie haben den Speicherplatz sehr gering. Sie können es auf drei Arten tun:

  1. Führen Sie PHP5Dismod aus, wenn Sie das Tool zur Verfügung haben. Es ist das Gegenteil des oben erwähnten PHP5EnMOD -Tools. Die .SO-Dateien bleiben an Ort und Stelle, und die INI-Dateien bleiben in Mods verfügbar, sie werden einfach nicht geladen, da ihre Symlinks aus den Ordnern FPM und CLI Conf.d entfernt werden.
  2. Entfernen Sie die Symlinks manuell. Z.B. sudo rm /etc/php5/cli/conf.d/mongo.ini
  3. Wenn Sie die Erweiterungen aktiviert haben, indem Sie sie direkt in die Php.ini -Dateien einfügen, entfernen Sie diese Zeilen aus den Php.ini -Dateien oder kommentieren Sie sie noch besser, damit sie für die weitere Verwendung zugänglich bleiben, wenn Sie jemals Ihre Meinung ändern.

Schlussfolgerung

Wie Sie sehen können, ist die Installation von Erweiterungen aus der Quelle äußerst einfach, auch wenn es keine genauen Anweisungen gibt und selbst wenn die Erweiterung nicht durch das offizielle Repository eines Betriebssystems unterstützt wird. Wenn Sie das nächste Mal eine Erweiterung in Ihre PHP -Installation in einem *Nix -System hinzufügen müssen (dieses Tutorial gilt auch für OS X), finden Sie in diesem Beitrag für eine Auffrischung zurück.

Bitte hinterlassen Sie Ihr Feedback unten und lassen Sie mich wissen, ob Sie durch eine bestimmte Erweiterung verwechselt werden und möchten Sie bei der Installation helfen.

häufig gestellte Fragen (FAQs) zur Installation von PHP -Erweiterungen aus Quelle

Was sind die Voraussetzungen für die Installation von PHP -Erweiterungen aus Quelle? Zunächst müssen Sie PHP auf Ihrem System installieren lassen. Sie müssen auch die PHP -Entwicklungsumgebung einrichten, die Tools wie Compiler und Make enthält. Darüber hinaus müssen Sie den PHP -Quellcode verfügbar lassen, da Sie die Erweiterung direkt aus diesem Code erstellen. Zuletzt müssen Sie den Quellcode der Erweiterung haben. Dies kann normalerweise von der offiziellen Website der Erweiterung oder von einem Repository wie Pecl heruntergeladen werden. seine Installation unter Verwendung der Funktion phpinfo (). Diese Funktion liefert viele Informationen zu Ihrer PHP -Installation, einschließlich der Liste der installierten Erweiterungen. Um dies zu verwenden, erstellen Sie eine neue PHP -Datei im Dokumentroot Ihres Webservers, fügen Sie einen Anruf an phpinfo () hinzu und anzeigen Sie diese Datei in Ihrem Webbrowser an. Die installierten Erweiterungen sind im Abschnitt "PHP Core" aufgeführt.

Kann ich PHP -Erweiterungen auf einem Windows -System installieren? Der Prozess unterscheidet sich jedoch geringfügig im Vergleich zu einem Unix-ähnlichen System. Anstatt die Erweiterung aus der Quelle zu kompilieren, laden Sie normalerweise eine vorkompilierte DLL -Datei herunter und fügen sie Ihrer PHP -Installation hinzu. Die Website von PHP.NET enthält detaillierte Anweisungen dazu. Schritt besteht darin, die Fehlermeldung sorgfältig zu lesen. Es enthält oft Hinweise darauf, was schief gelaufen ist. Zu den häufigen Problemen gehören fehlende Abhängigkeiten, falsche Konfigurationsoptionen und Probleme mit dem PHP -Quellcode. Wenn Sie das Problem nicht alleine lösen können, sollten Sie nach Hilfe der PHP -Community suchen. Es gibt viele Foren und Mailinglisten, in denen Sie um Hilfe bitten können.

Wie kann ich eine PHP -Erweiterung aktualisieren? Dann wiederholen Sie den Installationsvorgang. Die genauen Schritte können jedoch je nach Erweiterung variieren. Es ist eine gute Idee, die offizielle Dokumentation der Erweiterung für bestimmte Aktualisierungsanweisungen zu überprüfen.

Kann ich mehrere PHP -Erweiterungen gleichzeitig installieren? Dies kann durch Angeben mehrerer Erweiterungen im Befehl configure erfolgen. Beachten Sie jedoch, dass jede Erweiterung möglicherweise einen eigenen Satz von Abhängigkeiten und Konfigurationsoptionen hat.

Wie kann ich eine PHP -Erweiterung deinstallieren? Wenn die Erweiterung als gemeinsam genutztes Modul installiert wurde, müssen Sie möglicherweise auch die Datei .so oder .dll des Moduls löschen.

Was ist das Pecl -Repository? PHP -Erweiterungen, die als Quellcode verteilt sind. Diese Erweiterungen können mit dem PECL -Befehl installiert werden, der den Prozess des Herunterladens, Kompilierens und Installierens von Erweiterungen automatisiert.

Kann ich PHP -Erweiterungen ohne Root -Zugriff installieren? PHP -Erweiterungen ohne Wurzelzugriff. Dies kann durch die Installation von PHP in Ihrem Home -Verzeichnis und dann durch die Installation der Erweiterungen erfolgen. Dieser Ansatz erfordert jedoch mehr technisches Wissen und ist möglicherweise nicht für alle Benutzer geeignet.

Was sind einige häufige PHP -Erweiterungen und was tun sie? Zusätzliche Funktionalität zur PHP -Sprache. Einige gängige Erweiterungen umfassen MySQLI für die Interaktion mit MySQL -Datenbanken, GD zum Erstellen und Manipulieren von Bilddateien und Curl für HTTP -Anforderungen.

Das obige ist der detaillierte Inhalt vonSo installieren Sie PHP -Erweiterungen aus der Quelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage