Muszę zainstalować na serwerze lamp dokładnie te same rozszerzenia php, które są zainstalowane na starym serwerze. Jak dokładnie wiedzieć, które rozszerzenia są zainstalowane, aby zainstalować to samo na nowym serwerze?
13
Można użyć przełącznika wiersza polecenia -m
, aby php
zobaczyć, co jest zainstalowane moduły.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
Możesz także użyć php -i
do uzyskania phpinfo();
danych wyjściowych za pomocą wiersza polecenia, który również zawiera te informacje.
Jeśli rozszerzenie jest rzeczywiście używane, będzie trzeba je
php.ini
gdzieś odwołać . Rozszerzenia są ładowane w dość intuicyjny sposób:itd itd.
Jedną rzeczą, na którą należy zwrócić uwagę, są rozszerzenia, które są wprowadzane przez
ini
dołączenie dodatkowego pliku. Nie jestem pewien co do Debiana, ale w RHEL istnieje/etc/php.d/
katalog, w którym wszystkie.ini
pliki są traktowane tak, jakby były w głównej/etc/php.ini
Jeśli nie znajduje się w żadnym z tych dwóch miejsc (głównym
php.ini
lub jednym z dołączonych plików), rozszerzenie jest mniej więcej tym samym, że siedzi na nieużywanym systemie plików.EDYTOWAĆ:
Właściwie myślę, że skłamałem. Być może będziesz musiał spojrzeć na swoje pliki php w poszukiwaniu wywołań dl () . Jednak nie znam wielu ludzi, którzy ładują takie rozszerzenia. Nie jestem nawet pewien, jaki byłby przypadek użycia, ale jest to kolejny obszar, który prawdopodobnie powinieneś sprawdzić.
źródło
W Debianie rozszerzenia PHP są ładowane przez pliki w /etc/php5/conf.d
Istnieją dwa typy pakietów Debiana PHP, które mogą zostać tutaj zainstalowane:
Aby wyświetlić oba w systemie, możesz użyć tego polecenia: dpkg -l | grep 'ii php5 \? -', który wyświetla listę zainstalowanych pakietów zaczynających się od php- lub php5-.
Możesz także mieć rozszerzenia, które zostały zbudowane przy pomocy PECL z kodu źródłowego. Wyświetl listę za pomocą: pecl list
Wreszcie można skompilować własne rozszerzenia w staromodny sposób. W takim przypadku mogą nie mieć pliku w /etc/php5/conf.d, ale mogą zostać dodane do samego php.ini.
Wszystkie rozszerzenia zwykle mają sekcję danych wyjściowych z phpinfo (); . php -m wyświetli listę załadowanych rozszerzeń PHP (z których każde powinno mieć miejsce w wyjściu phpinfo). Na wyjściu php -m pojawi się o wiele więcej rozszerzeń niż zainstalowanych jako pakiety dodatkowe w Debianie, ponieważ istnieje wiele domyślnych rozszerzeń wbudowanych w PHP, a także tych, które można zainstalować później.
Oto przykład danych wyjściowych z maszyny deweloperskiej wyświetlającej dodatkowe zainstalowane rozszerzenia PHP:
źródło