Cuando se usa PHP como un módulo de Apache, se pueden cambiar valores de la configuración usando directivas en los ficheros de configuración de apache, httpd.conf y .htaccess (Se necesitan privilegios "AllowOverride Options" ó "AllowOverride All")
Con PHP 4.0, hay varias directivas Apache que permiten cambiar la configuracion de PHP desde los ficheros de configuración de apache. Para obtener una lista de que directivas son del tipo PHP_INI_ALL, PHP_INI_PERDIR, ó PHP_INI_SYSTEM, consultar la lista que se encuentra en la documentación de la función ini_set().
Nota: Con PHP 3.0, existen directivas que corresponden a cada parametro de configuración en php3.ini, con el prefijo "php3_".
Asigna el valor de la directiva especificada. Puede ser usado solamente con directivas del tipo PHP_INI_ALL y PHP_INI_PERDIR. Para borrar un valor previo, asignar none como valor
Nota: No usar php_value para definir valores booleanos. Deveria usarse php_flag en su lugar (vea más abajo).
Usado para asignar una directiva de configuración Booleana. Puede ser usado solamente con directivas del tipo PHP_INI_ALL y PHP_INI_PERDIR.
Asigna el valor de la directiva especificada. NO puede usarse en ficheros .htaccess. Todo tipo de directiva asignada con php_admin_value no puede ser cambiada con .htaccess ó directivas "virtualhost". Para borrar un valor previo, asignar none como valor.
Usado para asignar una directiva de configuración Booleana. NO puede usarse en ficheros .htaccess. Todo tipo de directiva asignada con php_admin_flag no puede ser cambiada con .htaccess ó directivas.
Atención |
Las Constantes en PHP no existen fuera de PHP. Por ejemplo, en httpd.conf no se pueden usar constantes PHP tales como E_ALL ó E_NOTICE para definir la directiva error_reporting, ya que no tendrá ningún significado y será evaluada como 0. Usar los valores asociados de "bitmask" en su lugar. Estas constantes pueden ser usadas en php.ini |
Dependiendo del interfaz de PHP se pueden cambiar ciertos valores en tiempo de ejecución con la función ini_set(). La siguiente tabla describe en que nivel una directiva puede ser definida/cambiada.
Tabla 4-1. Definición de constantes PHP_INI_*
Constante | Valor | Significado |
---|---|---|
PHP_INI_USER | 1 | Puede ser definida en scripts de usuario |
PHP_INI_PERDIR | 2 | Puede ser definida en php.ini, .htaccess ó httpd.conf |
PHP_INI_SYSTEM | 4 | Puede ser definida en php.ini ó httpd.conf |
PHP_INI_ALL | 7 | Puede ser definida en cualquier sitio |
Se pueden ver las definiciones de los valores de configuración en la salida de phpinfo(). Los valores individuales de configuración de directivas pueden ser accedidos con ini_get() ó get_cfg_var().