Foros del Web » Programando para Internet » PHP »

Cambir ruta por defecto del fichero "php.ini"

Estas en el tema de Cambir ruta por defecto del fichero "php.ini" en el foro de PHP en Foros del Web. Buenas, Estoy instalado bajo Windows PHP y Apache. Cuando se llama a PHP este busca donde esta situado el fichero php.ini, por defecto busca en ...
  #1 (permalink)  
Antiguo 12/07/2004, 17:22
Avatar de Tximis  
Fecha de Ingreso: junio-2004
Ubicación: Bilbao
Mensajes: 328
Antigüedad: 13 años, 6 meses
Puntos: 2
Cambir ruta por defecto del fichero "php.ini"

Buenas,

Estoy instalado bajo Windows PHP y Apache. Cuando se llama a PHP este busca donde esta situado el fichero php.ini, por defecto busca en el directorio %SYSTEMROOT%, que en mi caso es "c:\windows".

Quiero guardar el fichero php.ini en otro sitio, por ejemplo en c:\pruebas\php.ini, ¿Es posible indicarle que use ese fichero?

La idea es tener 2 instalaciones de PHP y Apache (usando puertos diferentes) para hacer pruebas, solo me falta poder indicar como seleccionar el fichero php.ini

He estado mirando la documentación y lo único que se me ocurre es cambiarlo en el código fuente, pero no creo que sea muy viable..

Un saludo y gracias por adelantado
  #2 (permalink)  
Antiguo 12/07/2004, 20:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Parece que si quieres instalar PHP como módulo de Apache y todo bajo windows .. la ruta del php.ini a usar se define en la compilación del "php.exe" y demás librerías de PHP para windows. Pero según comenta el própio manual se podría cambiar la ruta del php.ini si lo instalas como CGI o CLI (con sus restricciones frente a la versión de instalación como módulo).

La otra opción es que uses Linux XDDDDD que si que permite múltiples instalaciones e indicar el php.ini donde gustes para cada instalación.

Cita:
The default location of php.ini is a compile time option (see the FAQ entry), but can be changed for the CGI and CLI version with the -c command line switch, see the chapter about using PHP from the command line. You can also use the environment variable PHPRC for an additional path to search for a php.ini file.
http://www.php.net/manual/en/configuration.php

Un saludo,

Última edición por Cluster; 12/07/2004 a las 20:43
  #3 (permalink)  
Antiguo 13/07/2004, 01:24
Avatar de Tximis  
Fecha de Ingreso: junio-2004
Ubicación: Bilbao
Mensajes: 328
Antigüedad: 13 años, 6 meses
Puntos: 2
Descarto por completo pasar a Linux, es un proyecto basado en Windows.

Lo estoy ejecutando como CGI, ¿en ese caso como sería?

Un saludo Cluster
  #4 (permalink)  
Antiguo 13/07/2004, 08:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sobre la instalación como CGI ...

Fijate en el apartado:
Installing PHP on Windows with Apache 1.3.x
de
http://www.php.net/manual/en/install.apache.php
http://www.php.net/manual/en/install...windows.manual

Ahí veras que habla de llamar a php.exe vía:
Action application/x-httpd-php "/php/php.exe"

.. según el comentario del mismo manual anterior ... para indicar una ruta de php.ini concreta hay que usar el parámetro "c" en la llamada a php.exe tal como indica en:
http://www.php.net/manual/en/features.commandline.php

Por cierto .. supongo que estarás conscinte de las desventajas de usar PHP bajo CGI (no sólo en rendimiento .. sino en cosas que NO podras hacer en PHP como autentificación HTTP por ejemplo ... si la requieres). Y también supongo que conoceras que en Apache se peuden configurar "servidores virtuales" donde cada uno disfrute de su própia configuración aislada (tanto del própio apache en sí como servidor HTTP como de otros "CGI" que puedan correr para ese "servidor virtual" como sería PHP en modo CGI y con configuración a "medida" en flag's tipo: php_value directiva.php = valor ...)

Un saludo,
  #5 (permalink)  
Antiguo 14/07/2004, 15:38
Avatar de Tximis  
Fecha de Ingreso: junio-2004
Ubicación: Bilbao
Mensajes: 328
Antigüedad: 13 años, 6 meses
Puntos: 2
Hola Cluster he estado haciendo pruebas y no consigo hacerlo funcionar usando el parámetro "-c", te explico como lo tengo montado.


Tengo un directorio que se llama "servidor" y dentro de el tengo los siguientes subdirectorios:
  • conf
  • htdocs
  • img
  • logs
  • modules
  • php

El ejecutable "Apache.exe" y las libreriras necesarias las tengo en el directorio principal, en "servidor".

He añadido lo siguiente al fichero de configuración:

Cita:
ScriptAlias /php/ "/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe -c /php/php.ini"
Pongo otros datos importantes del fichero de configuración de Apache:

Cita:
ServerRoot ./
DocumentRoot ./htdocs
Al parecer no lo estoy haciendo bien, al pedir una página PHP me aparece el siguiente error en el fichero, error.log:

Cita:
[error] [client 127.0.0.1] script not found or unable to stat: C:/php/php.exe -c
No estoy poniendo bien las rutas a PHP. Utilizo rutas relativas, y no absolutas, para que todo este tinglado siga funcionado si lo cambio de sitio. Si lo tengo en c:\servidor y lo cambio a d:\pruebas\servidor quiero que me siga funcionado.

Funciona todo OK, si lo cambio de sitio se sirven las páginas, pero no consigo hacer funcionar el tema de PHP.

Un saludo.
  #6 (permalink)  
Antiguo 14/07/2004, 16:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm .. Debería ser las rutas absolutas tipo: c:\tal\php.exe .. lo mismo para la ruta de tu php.ini.

No conozco muy bien la instalación de PHP bajo CGI pero parece que con eso sobra (lo que indicastes).

Un saludo,
  #7 (permalink)  
Antiguo 14/07/2004, 17:22
Avatar de Tximis  
Fecha de Ingreso: junio-2004
Ubicación: Bilbao
Mensajes: 328
Antigüedad: 13 años, 6 meses
Puntos: 2
Hola Cluster, muchas gracias por la ayuda prestada. Al final lo he conseguido. Tenía que añadir tan solo un punto, lo que tenía antes:

Cita:
ScriptAlias /php/ "/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Así no funcionaba, pero añadiendo un punto en la línea de ScriptAlias ".php" si funciona:

Cita:
ScriptAlias /php/ "./php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
Un saludo y muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:01.