Heim > Backend-Entwicklung > PHP-Problem > So zeigen Sie PHP-Erweiterungen dynamisch an und laden sie

So zeigen Sie PHP-Erweiterungen dynamisch an und laden sie

醉折花枝作酒筹
Freigeben: 2023-03-10 22:58:02
nach vorne
2688 Leute haben es durchsucht

Nachdem wir php.ini kompiliert und die Konfiguration abgeschlossen haben, haben wir erfolgreich eine PHP-Erweiterung installiert. PHP stellt uns jedoch auch zwei Funktionen zur Verfügung, die den Status von Erweiterungen während der dynamischen Laufzeit anzeigen und Erweiterungen laden können, die nicht in php.ini konfiguriert sind. Schauen wir uns als Nächstes ihre Verwendung an.

So zeigen Sie PHP-Erweiterungen dynamisch an und laden sie

Überprüfen Sie, ob die Erweiterung geladen wurde

echo extension_loaded("redis");
Nach dem Login kopieren

Eine sehr einfache Funktion, deren Funktion darin besteht, zu überprüfen, ob eine Erweiterung geladen wurde. Es wird ein boolescher Wert zurückgegeben, der „true“ zurückgibt, wenn die Erweiterung geladen wurde, und „false“, wenn die Erweiterung nicht geladen ist.

Auf der PHP-FPM-Webseite können wir die Funktion phpinfo() verwenden, um den aktuellen PHP-Status und erweiterungsbezogene Informationen anzuzeigen. Im CLI-Befehlszeilenskript können wir den Befehl php -m verwenden, um die geladenen Erweiterungen anzuzeigen.

Dynamisches Laden von Erweiterungen

Zuerst deaktivieren wir das Laden von Redis-Erweiterungen in php.ini und müssen auch enable_dl=1 aktivieren, damit wir die Funktion dl() verwenden können, um eine Erweiterung dynamisch zu laden.

dl("redis");
echo extension_loaded("redis");
// 1
Nach dem Login kopieren

Ja, die Funktion dl() ist eine Funktion zum dynamischen Laden von Erweiterungen. Es gibt jedoch viele Einschränkungen bei der Verwendung und es handelt sich nicht um eine sichere Funktion. Daher ist in PHP7 die Konfiguration „enable_dl“ in php.ini standardmäßig deaktiviert. Wir versuchen auch, diese Methode nicht zum Laden von Erweiterungen in der Produktionsumgebung zu verwenden.

Darüber hinaus ist diese Funktion nur in der CLI-Umgebung in PHP7 gültig. Mit anderen Worten: In der PHP-FPM-Webumgebung ist diese Funktion nutzlos, selbst wenn enable_dl in php.ini aktiviert wurde.

Das Verzeichnis zum Laden der Erweiterung basiert auf dem Standarderweiterungsverzeichnis von PHP. Bitte beachten Sie, dass die Dateierweiterung in der Windows-Umgebung .dll ist. Wenn das Laden der Erweiterung fehlschlägt, gibt diese Funktion nicht nur „false“ zurück, sondern es wird auch eine E_WARNING-Fehlermeldung generiert. Schließlich ist diese Funktion auch im abgesicherten PHP-Modus nicht verfügbar.

Zusammenfassend sollten wir in einer Produktionsumgebung versuchen, die Möglichkeit zum dynamischen Laden von Erweiterungen nicht zu nutzen. Dies kann als Lernmaterial für uns verwendet werden, wenn Sie nicht zu viele Erweiterungen auf einmal auf Ihren lokalen Computer laden möchten. Wenn Sie bestimmte Funktionen testen müssen und einige spezielle Erweiterungen benötigen, sollten Sie die Verwendung dieser Funktion in Betracht ziehen für lokale Tests.

Empfohlenes Lernen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo zeigen Sie PHP-Erweiterungen dynamisch an und laden sie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:imooc.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage