command line interface - php7 - Cómo cambiar la ruta a php.ini en la versión CLI de PHP
php ini vars (4)
El php que se ejecuta en el servidor web y la versión CLI no está utilizando el mismo archivo php.ini. Si hago un comando php --ini
, muestra esto
Configuration File (php.ini) Path: C:/Windows
Loaded Configuration File: C:/wamp/bin/php/php5.3.8/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
mientras que mi versión web usa php.ini en C:/wamp/bin/apache/Apache2.2.21/bin/php.ini
. Esto es probablemente muy común para las personas que usan wamp.
¿Cómo cambio el archivo de configuración cargado para leer desde C:/wamp/bin/apache/Apache2.2.21/bin/php.ini
para que no tenga que mantener 2 versiones diferentes de php.ini?
Al especificar la variable de entorno PHPRC para que apunte al mismo php.ini que el que usa Apache me funcionó en Ubuntu
export PHPRC=/etc/php5/apache2/php.ini
O póngalo en $ HOME / .bashrc para importar cada vez que se inicie cli
He pasado aproximadamente 3 horas tratando de hacer exactamente lo que pregunta tu pregunta. No podia hacerlo Renuncié y copié ese php.ini a C: / Windows y cambié mi variable ENV "PHPRC" a C: / Windows (y en httpd.conf). De esa manera, tanto mi CLI php como Apach php e están usando el mismo archivo. No pude obtener "php -m" para mostrar los módulos que había cargado en mi php.ini durante toda mi vida hasta que hice este cambio ...
Por http://php.net/configuration.file :
php.ini se busca en estas ubicaciones (en orden):
- Ubicación específica del módulo SAPI (directiva PHPIniDir en Apache 2, opción de línea de comando -c en CGI y CLI, parámetro php_ini en NSAPI, variable de entorno PHP_INI_PATH en THTTPD)
- La variable de entorno PHPRC. Antes de PHP 5.2.0, esto se verificaba después de la clave de registro mencionada a continuación.
- A partir de PHP 5.2.0, la ubicación del archivo php.ini se puede configurar para diferentes versiones de PHP. Las siguientes claves de registro se examinan en orden:
- [HKEY_LOCAL_MACHINE / SOFTWARE / PHP / xyz], [HKEY_LOCAL_MACHINE / SOFTWARE / PHP / xy] y [HKEY_LOCAL_MACHINE / SOFTWARE / PHP / x], donde x, y, z son las versiones principales, principales y de versión de PHP. Si hay un valor para IniFilePath en cualquiera de estas claves, la primera que se encuentre se usará como la ubicación del php.ini (solo Windows).
- [HKEY_LOCAL_MACHINE / SOFTWARE / PHP], valor de IniFilePath (solo Windows).
- Directorio de trabajo actual (excepto CLI).
- El directorio del servidor web (para módulos SAPI), o el directorio de PHP (de lo contrario en Windows).
- Directorio de Windows (C: / windows o C: / winnt) (para Windows), o la opción de tiempo de compilación --with-config-file-path.
Para CLI, su mejor $PHPRC
probablemente sea establecer la variable de entorno $PHPRC
para la cuenta que ejecutará los scripts, o recompilar PHP con una --with-config-file-path
diferente --with-config-file-path
.
También puede anular el directorio de búsqueda php.ini por ejecución especificando la opción -c
al invocar PHP:
> php --help Usage: php [options] [-f] [--] [args...] ... -c | Look for php.ini file in this directory
intenta ejecutar la función phpinfo()
en ambos lados
Servidor web y CLI y descubra la ubicación exacta de su archivo php.ini
para ambos lados
y mantener esos archivos solamente