Localización de la carpeta de extensión PHP usando bash


14

Estoy tratando de construir un script bash para instalar la extensión PHP de Source Guardian, sin embargo, el directorio de destino es diferente en cada versión posterior de Ubuntu.

La instalación de PHP5 en Ubuntu 14.04 da como resultado que las extensiones se almacenen en / usr / lib / php5 / 20121212 + lfs /, en Ubuntu 15.04 este directorio cambia, por ejemplo / usr / lib / 20131226 /

He comprobado /etc/php5/fpm/php.ini y /etc/php5/fpm/php-fpm.conf pero ninguno de estos archivos menciona 20121212 + lfs o 20131226.

Si coloco la extensión de Source Guardian en otro lugar, no se carga.

¿Hay alguna manera de determinar mediante programación la carpeta de extensión?

Respuestas:


25

Tal vez deberías hacer esto:

php-config --extension-dir

Si php-configno existe, entonces apt-get install php-configsi Ubuntu / Debian o yum install php-configsi CentOS / Red Hat)

Ese comando le dará la ubicación exacta de su phpcarpeta de extensión.

No olvides cambiar tu php.inipara usar extensiones.


No es más simple que analizar la php -isalida y requiere una instalación de software adicional. ¿Por qué?
cprn

20

Puedes usar esto

php -i | grep extension_dir

2
Es posible que también desee probar php -i | grep ^extension_dirya que también hay un sqlite3.extension_dir. El símbolo de intercalación coincidirá solo desde el principio de la cadena (para aquellos que no saben sobre expresiones regulares), lo que ayuda si está utilizando la salida de alguna manera
Stuart H

0

También puede encontrarlo creando un script phpinfo (un archivo que invoca phpinfo();) y luego ejecútelo en el navegador.

Vea el ejemplo a continuación.

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.