cómo cambiar la ruta de las ventanas php ini


12

He descargado php, lo agregué a mi ruta y estoy tratando de habilitar openssl

php --ini me dice que el archivo de configuración es c: \ windows que no había nada allí, no quiero copiar php en c / windows.

¿Cómo cambio esto para apuntar a mi carpeta php?

Respuestas:


10

No es necesario poner nada para hacer con PHP cerca de la c:\windowscarpeta.

Si lo hace, solo servirá para confundirlo cuando actualice PHP a una nueva versión.

Si hace un CD en la carpeta en la que está instalado PHP y lo php --inihace, leerá el archivo php.ini de la carpeta en la que se encuentra.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Creo que también es una mala idea poner la carpeta de instalación de PHP en la RUTA de Windows también.

Todo lo que necesita es un pequeño archivo por lotes que configurará su RUTA durante la duración de la ventana de comandos que está utilizando, y lo colocará en una de las carpetas que ya está en la RUTA de Windows.

Entonces, suponiendo que haya instalado PHP en C:\phpeste es el archivo por lotes

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

Y luego simplemente ejecuta este archivo por lotes cada vez que abre una ventana de comandos y desea ejecutar un código PHP y su entorno se configura. También puede agregar otras cosas a este archivo por lotes cuando necesite otras cosas agregadas a su entorno como Composer, etc.


¡Si! Esto funciona para mi. PHP.ini es mejor con PHP.exe en la misma carpeta para que Web y CLI PHP puedan referirse al mismo PHP.ini.
Scott Chu

@ScottChu No realmente, son 2 entornos diferentes y en la vida real a menudo quieres configuraciones diferentes para ambos.
RiggsFolly

4

Según la documentación:

El archivo de configuración (php.ini) se lee cuando se inicia PHP. Para las versiones del módulo de servidor de PHP, esto ocurre solo una vez cuando se inicia el servidor web. Para las versiones CGI y CLI, sucede en cada invocación.

Se busca php.ini 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 verificó 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 establecer 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 y z significan el PHP principal, versiones menores y de lanzamiento. Si hay un valor para IniFilePath en cualquiera de estas claves, la primera encontrada 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.

Debe probar la PHPRCvariable de entorno o la clave de registro [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].


0

Intenté todo sin éxito. cambió el httpd.conf de apache, php.ini y varios otros intentos, siempre dio como resultado el Archivo de configuración cargado - (ninguno). Finalmente, copié todos los archivos del directorio php al directorio C: \ Archivos de programa (x86) \ Apache Software Foundation \ Apache2.2 \ bin y todo comenzó a funcionar. Perfectamente. Lamentablemente no es la solución perfecta, pero funcionó.

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.