Suchen des PHP-Erweiterungsordners mit bash


14

Ich versuche ein Bash-Skript zu erstellen, um die Source Guardian PHP-Erweiterung zu installieren, aber das Zielverzeichnis ist bei jeder nachfolgenden Veröffentlichung von Ubuntu anders.

Wenn Sie PHP5 unter Ubuntu 14.04 installieren, werden die Erweiterungen in / usr / lib / php5 / 20121212 + lfs / gespeichert. In Ubuntu 15.04 ändert sich dieses Verzeichnis, z. B. / usr / lib / 20131226 /.

Ich habe /etc/php5/fpm/php.ini und /etc/php5/fpm/php-fpm.conf überprüft, aber keine dieser Dateien erwähnt 20121212 + lfs oder 20131226.

Wenn ich die Source Guardian-Erweiterung an einer anderen Stelle platziere, wird sie nicht geladen.

Gibt es eine Möglichkeit, den Erweiterungsordner programmgesteuert zu ermitteln?

Antworten:


22

Vielleicht solltest du das machen:

php-config --extension-dir

Wenn php-confignicht vorhanden, apt-get install php-configwenn Ubuntu / Debian oder yum install php-configwenn CentOS / Red Hat)

Dieser Befehl gibt den genauen Speicherort Ihres phpErweiterungsordners an.

Vergessen Sie nicht, Ihre zu ändern php.ini, um Erweiterungen zu verwenden.


Es ist nicht einfacher als das Parsen von php -iAusgaben und erfordert die Installation zusätzlicher Software. Warum?
cprn

18

Sie können dies verwenden

php -i | grep extension_dir

2
Vielleicht möchten Sie es auch versuchen, php -i | grep ^extension_dirda es auch eine gibt sqlite3.extension_dir. Das Caret wird nur vom Anfang der Zeichenfolge abgeglichen (für diejenigen, die sich mit Regex nicht auskennen), was hilfreich ist, wenn Sie die Ausgabe irgendwie verwenden
Stuart H

0

Sie können es auch finden, indem Sie ein phpinfo-Skript (eine Datei, die aufgerufen wird) erstellen phpinfo();und dann im Browser ausführen.

Siehe folgendes Beispiel.

Bildbeschreibung hier eingeben

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.