Lokalizowanie folderu rozszerzenia PHP za pomocą bash

14

Próbuję zbudować skrypt bash, aby zainstalować rozszerzenie Source Guardian PHP, jednak katalog docelowy jest inny w każdej kolejnej wersji Ubuntu.

Zainstalowanie PHP5 na Ubuntu 14.04 powoduje, że rozszerzenia są przechowywane w / usr / lib / php5 / 20121212 + lfs /, w Ubuntu 15.04 ten katalog się zmienia, np. / Usr / lib / 20131226 /

Sprawdziłem /etc/php5/fpm/php.ini i /etc/php5/fpm/php-fpm.conf, ale żaden z tych plików nie ma wzmianki o 20121212 + lfs ani 20131226.

Jeśli umieszczę rozszerzenie Source Guardian gdziekolwiek indziej, nie zostanie ono załadowane.

Czy istnieje sposób programowego określenia folderu rozszerzenia?

Izometryczny
źródło

Odpowiedzi:

25

Może powinieneś to zrobić:

php-config --extension-dir

Jeśli php-confignie istnieje, to apt-get install php-configjeśli Ubuntu / Debian lub yum install php-configCentOS / Red Hat)

To polecenie poda dokładną lokalizację phpfolderu rozszerzenia.

Nie zapomnij zmienić swojego, php.iniaby móc korzystać z rozszerzeń.

kinematografia
źródło
To nie jest prostsze niż parsowanie php -idanych wyjściowych i wymaga instalacji dodatkowego oprogramowania. Dlaczego?
cprn 11.04.19
20

Możesz tego użyć

php -i | grep extension_dir
Maximiliano Gastón Ledesma
źródło
2
Możesz także spróbować, php -i | grep ^extension_dirponieważ istnieje również sqlite3.extension_dir. Daszek będzie pasował tylko od początku łańcucha (dla tych, którzy nie wiedzą o wyrażeniu regularnym), co pomaga, jeśli w jakiś sposób używasz danych wyjściowych
Stuart H
0

Możesz go również znaleźć, tworząc skrypt phpinfo (plik, który wywołuje phpinfo();), a następnie uruchom go w przeglądarce.

Zobacz przykład poniżej.

wprowadź opis zdjęcia tutaj

juliański
źródło