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ć.

Odpowiedzi:


238

Bieganie

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


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


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]>

17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>

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.


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

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).


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.