Pregunta ¿Dónde está mi php.ini?


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

Hoy necesito instalar esta que parece una biblioteca PHP. Revisé todos los pasos para hacer la instalación y encuentro ibm_db2.so en $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

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

Tengo que lidiar con PHP una vez cada tantos años, así que por favor, infórmenme en un nivel muy básico sobre lo que podría hacer para habilitar el acceso a la GUI basada en la web. DB2.


718
2017-12-30 22:20


origen


Respuestas:


La mejor forma de encontrar esto es: crea un archivo php y agrega el siguiente código:

<?php phpinfo(); ?>

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

Actualizaciones por OP:

  1. Lo previamente aceptado responder es probable que sea más rápido y más conveniente para usted, pero no siempre es correcto. Ver comentarios sobre esa respuesta.
  2. Tenga en cuenta también la alternativa más conveniente <?php echo php_ini_loaded_file(); ?> mencionado en esta respuesta.

352
2018-06-19 07:32



En la línea de comando ejecuta:

php --ini

Obtendrás 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, eche un vistazo al primero. Ese es el camino, donde PHP busca el php.ini.

Puedes grep la misma información usando phpinfo() en un script y llámalo con un navegador. Se menciona en el primer bloque de la salida. php -i hace lo mismo para la línea de comando, pero es bastante incómodo.


669
2017-12-30 22:22



Esto funciona para mí:

php -i | grep 'php.ini'

Deberías ver algo como:

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

PD. Para obtener solo el camino de php.inin

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

88
2018-04-02 11:48



En el tipo de ventana de comando

php --ini

Le 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, usa esto

echo phpinfo();

58
2017-10-09 12:36



Este comando debería ayudarte a encontrarlo

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

31
2018-01-09 15:41



Use los siguientes comandos para encontrar el php.ini ruta del archivo 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 intenta esto de otra manera

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


25
2018-02-17 10:58



phpinfo();

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

php -i

22
2017-12-30 22:24



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

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

Apache:

Simplemente agregue lo siguiente en un archivo php y ábralo en su navegador

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

CLI:

Copiar y pegar en tu terminal:

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

19
2018-06-21 14:19



find / -name php.ini

Oye ... ¡funcionó para mí!


6
2017-12-22 07:22



Puede obtener más información sobre sus 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

4
2017-12-30 22:25



Para SAPI: php-fpm

No es necesario crear un archivo php.info (no es una buena política dejarlo para que el mundo lo lea de todos modos). En la línea de comando:

php-fpm -i | more

En algún lugar de su salida, mostrará esta línea:

Configuration File (php.ini) Path => /etc

Aquí hay una explicación más completa: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/


3
2017-11-17 15:16