Tengo una configuración de php que sólo se puede cambiar en el archivo ini. No puedo cambiar esta configuración en php.ini global debido a conflictos, por lo que necesitaré que este usuario sea específico. ¿Se puede hacer esto si php se ejecuta como módulo? ¿O debo cambiar php para ejecutarlo como cgi?
Parece que la mejor respuesta es "realmente no", pero puedes cambiar algunos parámetros usando los siguientes trucos.
Respuesta1
No conozco ninguna forma de especificar un php.ini separado cuando uso PHP como módulo de Apache, solo cuando uso PHP como CGI. Dicho esto, cualquiera de las opciones de configuración en php.ini se puede cambiar en el .htaccess
archivo como se muestra enhttp://php.net/configuration.changessiempre que tenga AllowOverride configurado en la configuración de Apache establecido en Options
o All
.
He hecho esto en muchos de mis sitios para cambiar configuraciones comunes de PHP. Supongo que no es necesario cambiar todas las configuraciones, por lo que el número debe administrarse fácilmente agregando las opciones a su .htaccess
archivo dentro del directorio en el que necesita los cambios.
El siguiente es uno que uso en un par de sitios para cambiar include_path
y configurar la auto_prepend_file
configuración auto_append_file
. Para elementos de bandera booleana, simplemente use php_flag
en lugar de php_value
.
<IfModule mod_php5.c>
php_value auto_prepend_file 'header.inc.php'
php_value auto_append_file 'footer.inc.php'
php_value include_path '/path/to/private/includes:/usr/share/pear'
</IfModule>
Respuesta2
Anulé el controlador de php para un contenedor php cgi y pude especificar un archivo php.ini
Para hacer esto: cree un archivo htaccess en la carpeta que desea modificar con algo como esto:
Action php5-cgi /cgi-bin/php5-cgi.cgi
AddHandler php5-cgi .php
Luego crea un archivo 'php5-cgi.cgi' con algo como esto:
#!/bin/sh
exec /usr/bin/php-cgi "$@" -c "/home/user/php.ini"
Establezca permisos en este archivo para ejecutarlo como "usuario". Luego ejecute un archivo de prueba con phpinfo(1); para ver si tienes tu archivo ini cargado.
¡¡Gracias por la ayuda de todos!!
Respuesta3
Todos los detalles están aquí:http://php.net/configuration.changes
Respuesta4
Puede utilizar Apache "php_admin_value" por vhost/usuario.
IIRC, puede redefinir cada valor de php.ini usando este comando