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

So zeigen Sie PHP-Erweiterungen dynamisch an und laden sie

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-06-29 15:40:222640Durchsuche

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");

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:imooc.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen