ubicacion info php linux php-ini

info - Amigo, ¿dónde está mi php.ini?



ubicacion de php ini en centos 7 (12)

Hace unos años instalé Apache 2.2x y PHP 5.3.1 en un servidor Linux que mantengo. Utilicé .tar.gz y los construí según las instrucciones (en lugar de rpms y lo que tienes) Y todo estaba bien.

Hoy necesito instalar this que parece una biblioteca de PHP. Realicé todos los pasos para realizar la instalación, y encuentro ibm_db2.so en $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

El gran problema es que el último paso es configurar php.ini, pero NO hay php.ini en mi sistema. El horror de los horrores. PHP funciona bien, excepto, por supuesto, para este nuevo dispositivo ibm_db2 que quiero usar para que alguien pueda usar una GUI para jugar con DB2 . (Intenté una pequeña secuencia de comandos de PHP que falla e indica que las funciones ibm_db2 no están disponibles).

Tengo que lidiar con PHP una vez cada pocos años, así que, por favor, ilumíneme a un nivel muy básico sobre lo que podría hacer para habilitar el acceso de GUI basado en web a DB2 .


En el tipo de ventana de comando

php --ini

Te mostrará el camino algo así como

Configuration File (php.ini) Path: /usr/local/lib Loaded Configuration File: /usr/local/lib/php.ini

Si el comando anterior no funciona, use este

echo phpinfo();


En la línea de comandos ejecute:

php --ini

Obtendrá algo como:

Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_sqlite.ini, /etc/php5/cli/conf.d/sqlite.ini, /etc/php5/cli/conf.d/sqlite3.ini, /etc/php5/cli/conf.d/xdebug.ini, /etc/php5/cli/conf.d/xsl.ini

Eso es de mi máquina de desarrollo local. Sin embargo, la segunda línea es la interesante. Si no hay nada mencionado, mira el primero. Ese es el camino, donde PHP busca el php.ini .

Puede obtener la misma información usando phpinfo() en un script y llamarla con un navegador. Se menciona en el primer bloque de la salida. php -i hace lo mismo para la línea de comandos, pero es bastante incómodo.


Este comando te ayudará a encontrarlo.

php -r "phpinfo();" | grep php.ini


Esto funciona para mí:

php -i | grep ''php.ini''

Deberías ver algo como:

Loaded Configuration File => /usr/local/lib/php.ini

ps Para obtener solo la ruta php.inin

php -i | grep /.+/php.ini -oE


Hay varias formas válidas ya mencionadas para localizar el archivo php.ini, pero si se encontró con esta página porque quiere hacer algo con ella en un script de bash:

path_php_ini="$(php -i | grep ''Configuration File (php.ini) Path'' | grep -oP ''(?<=/=/>/s).*'')" echo ${path_php_ini}


La mejor manera de encontrar esto es crear un archivo php y agregar el siguiente código:

<?php phpinfo(); ?>

y ábrelo en el navegador, se mostrará el archivo que realmente se está leyendo!

Actualizaciones por OP:

  1. Es probable que la answer aceptada anteriormente sea más rápida y conveniente para usted, pero no siempre es correcta. Ver comentarios sobre esa respuesta.
  2. Tenga en cuenta también la alternativa más conveniente <?php echo php_ini_loaded_file(); ?> <?php echo php_ini_loaded_file(); ?> mencionado en esta respuesta .

PHP viene con dos funciones nativas para mostrar qué archivo de configuración está cargado:

Dependiendo de su configuración, Apache y CLI pueden usar diferentes archivos ini. Aquí están las dos soluciones:

Apache

Solo agrega lo siguiente en un archivo php y ábrelo en tu navegador

print php_ini_loaded_file(); print_r(php_ini_scanned_files());

CLI:

Copia y pega en tu terminal:

php -r ''print php_ini_loaded_file(); print_r(php_ini_scanned_files());''



Puedes obtener más información sobre tus archivos de configuración usando algo como:

$ -> php -i | ack config # Use fgrep -i if you don''t have ack Configure Command => ''./configure'' ... Loaded Configuration File => /path/to/php.ini


Use los siguientes comandos para encontrar la ruta del archivo php.ini en linux.

[root@AnyDirectory ~]# locate php.ini /etc/php.ini /etc/php.ini.rpmnew /usr/share/doc/php-common-5.4.45/php.ini-development /usr/share/doc/php-common-5.4.45/php.ini-production


o prueba esto de otra manera

[root@AnyDirectory ~]# php --ini
muestra el resultado del camino


find / -name php.ini

Hey ... funcionó para mí!


phpinfo();

le dirá su ubicación, o desde la línea de comandos

php -i