Hace unos años instalé Apache 2.2x y PHP 5.3.1 en un servidor Linux que mantengo. Usé .tar.gz's y los construí según las instrucciones (en lugar de rpms y what-have-you). Y todo estuvo bien.
Hoy necesito instalar esto, 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
El gran problema 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 esta novedosa cosa ibm_db2 que quiero usar para que alguien pueda usar una GUI para jugar DB2
. (Probé un pequeño script 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 a la GUI basada en la web DB2
.
locate php.ini
le dirá en pocos momentos dónde está el archivo en su sistema.Respuestas:
La mejor manera de encontrar esto es: crear un archivo php y agregar el siguiente código:
y ábralo en el navegador, ¡mostrará el archivo que realmente se está leyendo!
Actualizaciones por OP:
<?php echo php_ini_loaded_file(); ?>
mencionada en esta respuesta .fuente
<?php phpinfo(); ?>
php -r \@phpinfo\(\)\;
funciona para míphp -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1
para obtener información específica<?php echo php_ini_loaded_file(); ?>
En la línea de comando ejecutar:
Obtendrás algo como:
Eso es de mi máquina de desarrollo local. Sin embargo, la segunda línea es la interesante. Si no se menciona nada, eche un vistazo al primero. Ese es el camino, donde PHP busca el
php.ini
.Puede utilizar la misma información
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 comando, pero es bastante incómodo.fuente
.php
archivo. Por cierto, si comentas la pregunta, recibo una notificación y puedo solucionar el problema antes.phpinfo.php
archivo similar. Con FPM al menos puedes usarphp5-fpm -i | grep '\.ini'
. Usualmente usas esto dos o tres veces y al final del día sabes dónde están los archivos;)Esto funciona para mi:
Deberías ver algo como:
ps Para obtener solo la ruta php.inin
fuente
php.ini
, que es exactamente el problema: Si no hay ninguno, todavía no sabe dónde mirar, o dónde colocar uno nuevo.Configuration File (php.ini) Path => /usr/lib
, pero correr<?php phpinfo(); ?>
me daLoaded Configuration File: /etc/php.ini
. Entonces,phpinfo()
fue más confiable en mi caso.En la ventana de comandos, escriba
Te mostrará el camino algo así como
Si el comando anterior no funciona, use esto
fuente
Este comando debería ayudarte a encontrarlo
fuente
Use los siguientes comandos para encontrar la
php.ini
ruta del archivo en Linux.o intente esto de otra manera
[root@AnyDirectory ~]# php --ini
muestra el resultado del camino
fuente
php -i | grep 'php.ini'
, porque encuentra cualquier php.ini y no le dice cuál usa su instalación de PHP. Además, puede dar resultados incorrectos cuando la base delocate
datos no está actualizada.le dirá su ubicación, o desde la línea de comando
fuente
PHP viene con dos funciones nativas para mostrar qué archivo de configuración se carga:
Dependiendo de su configuración, Apache y CLI pueden usar diferentes archivos ini. Aquí están las dos soluciones:
Apache
Simplemente agregue lo siguiente en un archivo php y ábralo en su navegador
CLI:
Copiar y pegar en su terminal:
fuente
php_ini_loaded_file
no siempre esté disponible.php_ini_loaded_file
say php version> = 5.2.4¡Oye ... funcionó para mí!
fuente
php --ini
funciona, pero esta es solo otra opción :) Por lo general, hay una/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
y, por lo general, cuál desea es bastante obvio. (cli, apache, cgi)Puede obtener más información sobre sus archivos de configuración usando algo como:
fuente
Para SAPI: php-fpm
No es necesario crear un archivo php.info (de todos modos, no es una buena política dejarlo para que el mundo lo lea). En la línea de comando:
En algún lugar de su salida, mostrará esta línea:
Aquí hay una explicación más completa: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/
fuente
Prueba una de estas soluciones
En su terminal escriba
find / -name "php.ini"
En su tipo de terminal
php -i | grep php.ini
. Debería mostrar la ruta del archivo comoConfiguration File (php.ini) Path => /etc
<?php
en una nueva líneaphpinfo();
Esto le indicará la ubicación de php.iniphp -a
la terminal y escriba phpinfo (); despues de php iniciado.fuente
Ya se han mencionado varias formas válidas para localizar el archivo php.ini, pero si se encontró con esta página porque desea hacer algo con ella en un script bash:
path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}
fuente