Jak mogę zobaczyć rozszerzenia ładowane przez PHP?

156

Musi być gdzieś na zrzucie phpinfo (), ale po prostu nie wiem gdzie. Czy ma znajdować się w sekcji „Dodatkowe moduły”? Gdzieś indziej? Próbuję dowiedzieć się, dlaczego niektóre rozszerzenia nie wydają się być załadowane, ale nawet nie wiem, gdzie powinienem szukać.

Białeckiego
źródło

Odpowiedzi:

238

Bieganie

php -m
da ci wszystkie moduły, a
php -i
da ci dużo bardziej szczegółowe informacje o aktualnej konfiguracji.

Abdullah Jibaly
źródło
60

Uruchom polecenie. Otrzymasz zainstalowane rozszerzenia:

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

Lub uruchom to polecenie, aby zainstalować i odinstalować cały moduł wraz z wersją

dpkg -l | grep php5
Saurabh Chandra Patel
źródło
37

użyj get_loaded_extensions()funkcji PHP

troelskn
źródło
7
Działa to w wierszu poleceń php -r 'print_r(get_loaded_extensions());'i wyświetla tę samą listę cophp -m
phpguru
1
cmd, aby wyeksportować moduły z numerami wersji:php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
Agnius Vasiliauskas,
33

Chcesz biegać:

 php -m 

w linii poleceń,

lub jeśli masz dostęp do otwartego pliku konfiguracyjnego serwera

/etc/php5/apache2/php.ini

i spójrz na wszystkie rozszerzenia,

możesz je nawet włączyć lub wyłączyć, przełączając między włączaniem i wyłączaniem w ten sposób

<Extension_name> = <[On | Off]>
william.eyidi
źródło
17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
Rahul Yadav
źródło
lista z php -m jest znacznie dłuższa niż get_loaded_extensions (), która nie zawiera listy curl, mbstring i wielu innych? dlaczego? Zainstalowałem curl, mbstring, ale nie wydają się one pokazywać ze skryptu php?
Meryan
Jak posortować get_loaded_extensions () alfabetycznie? porównać z innymi działającymi instalacjami php, dziękuję.
Meryan
6

get_loaded_extensions() wypisuje listę rozszerzeń.

phpinfo(INFO_MODULES); wypisuje rozszerzenia i ich szczegóły.

jayxhj
źródło
5

Jeśli chcesz sprawdzić, czy dane rozszerzenie jest załadowane, możesz również skorzystać z extension_loadedfunkcji, zobacz dokumentację tutaj

php -r "var_dump(extension_loaded('json'));"
PeterPan666
źródło
1

Szukasz konkretnego rozszerzenia? W swoim phpinfo();, po prostu naciśnij Ctrl+ Fw przeglądarce internetowej, wpisz pierwsze 3-4 litery szukanego rozszerzenia, a powinno ono pokazać, czy jest załadowane, czy nie.

Zwykle phpinfo()nie pokazuje wszystkich załadowanych rozszerzeń w jednej lokalizacji, ma oddzielną sekcję dla każdego załadowanego rozszerzenia, w której pokazuje wszystkie jego zmienne, ścieżki plików itp., Więc jeśli nie ma sekcji dla twojego rozszerzenia, to prawdopodobnie oznacza, że ​​nie jest załadowany.

Alternatywnie możesz otworzyć swój plik php.ini i użyć metody Ctrl+ F, aby znaleźć swoje rozszerzenie i sprawdzić, czy zostało zakomentowane (zwykle średnikiem w pobliżu początku linii).

Kliknij opcję Głos za
źródło
0

Zapytałeś, gdzie widzisz załadowane rozszerzenia na wyjściu phpinfo ().

Odpowiedź:

Są one wymienione na dole jako oddzielne sekcje / tabele i TYLKO jeśli są załadowane. Oto przykład załadowanego rozszerzenia Curl.

wprowadź opis obrazu tutaj ...

... wprowadź opis obrazu tutaj

Zainstalowałem go na Linux Debian z

sudo apt-get install php7.4-curl
Meryan
źródło