Wie sehe ich die von PHP geladenen Erweiterungen?

155

Es muss irgendwo im phpinfo () Dump sein, aber ich weiß einfach nicht wo. Soll es sich im Abschnitt "Zusätzliche Module" befinden? Irgendwo anders? Ich versuche herauszufinden, warum einige Erweiterungen nicht geladen zu sein scheinen, aber ich weiß nicht einmal, wo ich suchen soll.

Bialecki
quelle

Antworten:

237

Laufen

PHP-m
erhalten Sie alle Module, und
php -i
Hier erhalten Sie viel detailliertere Informationen zur aktuellen Konfiguration.

Abdullah Jibaly
quelle
60

Führen Sie den Befehl aus. Sie erhalten installierte Erweiterungen:

php -r "print_r(get_loaded_extensions());"

Oder führen Sie diesen Befehl aus, um alle Module mit der Version zu installieren und zu deinstallieren

dpkg -l | grep php5
Saurabh Chandra Patel
quelle
37

Verwenden Sie die get_loaded_extensions()PHP-Funktion

troelskn
quelle
7
Dies funktioniert in der Befehlszeile, in php -r 'print_r(get_loaded_extensions());'der dieselbe Liste php -m
ausgegeben wird
1
cmd zum Exportieren von Modulen mit Versionsnummern:php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
Agnius Vasiliauskas
33

Sie möchten ausführen:

 php -m 

in der Kommandozeile,

oder wenn Sie Zugriff auf die geöffnete Serverkonfigurationsdatei haben

/etc/php5/apache2/php.ini

und schauen Sie sich alle Erweiterungen an,

Sie können sie sogar aktivieren oder deaktivieren, indem Sie wie folgt zwischen Ein und Aus wechseln

<Extension_name> = <[On | Off]>
william.eyidi
quelle
17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
Rahul Yadav
quelle
die liste von php -m ist viel länger als get_loaded_extensions (), in der curl, mbstring und viele andere nicht aufgelistet sind? warum ist das so? Ich habe curl, mbstring installiert, aber sie scheinen nicht aus dem PHP-Skript zu zeigen?
Meryan
Wie sortiere ich get_loaded_extensions () alphabetisch? danke, um mit anderen funktionierenden PHP-Installationen zu vergleichen.
Meryan
6

get_loaded_extensions() Geben Sie die Erweiterungsliste aus.

phpinfo(INFO_MODULES); Geben Sie die Erweiterungen und ihre Details aus.

jayxhj
quelle
5

Wenn Sie testen möchten, ob eine bestimmte Erweiterung geladen ist, können Sie die extension_loadedFunktion auch verwenden , siehe Dokumentation hier

php -r "var_dump(extension_loaded('json'));"
PeterPan666
quelle
1

Suchen Sie eine bestimmte Erweiterung? Drücken Sie in Ihrem phpinfo();einfach auf Ctrl+ Fin Ihrem Webbrowser, geben Sie die ersten 3-4 Buchstaben der gesuchten Erweiterung ein und es sollte Ihnen zeigen, ob sie geladen ist oder nicht.

Normalerweise in phpinfo() darin nicht alle geladenen Erweiterungen an einem Speicherort angezeigt. Für jede geladene Erweiterung gibt es einen separaten Abschnitt, in dem alle Variablen, Dateipfade usw. angezeigt werden. Wenn also kein Abschnitt für Ihren Erweiterungsnamen vorhanden ist bedeutet wahrscheinlich, dass es nicht geladen ist.

Alternativ können Sie Ihre Datei php.ini öffnen und die Ctrl+ F-Methode verwenden, um Ihre Erweiterung zu finden und festzustellen, ob sie auskommentiert wurde (normalerweise durch ein Semikolon am Zeilenanfang).

Klicken Sie auf Upvote
quelle
0

Sie haben gefragt, wo Sie geladene Erweiterungen in der Ausgabe von phpinfo () sehen.

Antworten:

Sie werden unten als separate Abschnitte / Tabellen aufgeführt und NUR, wenn sie geladen sind. Hier ist ein Beispiel für die geladene Erweiterung Curl.

Geben Sie hier die Bildbeschreibung ein ...

... Geben Sie hier die Bildbeschreibung ein

Ich habe es unter Linux Debian mit installiert

sudo apt-get install php7.4-curl
Meryan
quelle