Cuando se usa PHP como un módulo de Apache, se pueden cambiar valores de la configuración usando directivas en los archivos de configuración de apache, httpd.conf y .htaccess. Necesitará de los privilegios "AllowOverride Options" o "AllowOverride All" para hacerlo.
Con PHP 4 y PHP 5, hay varias directivas Apache que permiten cambiar la configuración de PHP desde los archivos 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().
Note: Con PHP 3, existen directivas que corresponden a cada parámetro de configuración en php3.ini, con el prefijo "php3_".
php_value
nombre
valor
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
Note: No use
php_value
para definir valores booleanos. Debería usarsephp_flag
en su lugar (vea más abajo).
php_flag
nombre
on|off
Usado para asignar una directiva de configuración booleana. Puede ser usado solamente con directivas del tipo PHP_INI_ALL y PHP_INI_PERDIR.
php_admin_value
nombre
valor
Asigna el valor de la directiva especificada. Esto
no puede usarse en archivos
.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.
php_admin_flag
nombre
on|off
Usado para asignar una directiva de configuración
booleana. Esto no puede usarse en
archivos .htaccess. Todo tipo de directiva asignada con
php_admin_flag
no
puede ser cambiada con .htaccess ó directivas.
Example#1 Ejemplo de configuración de Apache
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag safe_mode on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag safe_mode on </IfModule> <IfModule mod_php3.c> php3_include_path ".:/usr/local/lib/php" php3_safe_mode on </IfModule>
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
Cuando se usa PHP en Windows, se pueden cambiar los valores de configuración para cada directorio por medio de los registros de Windows. Los valores de configuración se guardan en la llave de registro HKLM\SOFTWARE\PHP\Per Directory Values, en las subllaves correspondientes al PATH. Por ejemplo, los valores de configuracion del directorio c:\inetpub\wwwroot se guardarán en HKLM\SOFTWARE\PHP\Valores Por Directorio\c\inetpub\wwwroot. La configuración de un directorio es válida para todos los scripts ejecutados en el mismo y sus subdirectorios. Los valores en la llave deben de definirse con el nombre de la directiva de configuración de PHP y el valor tipo cadena. Las constantes PHP en los valores no son analizadas.
Independientemente del modo en que ejecute PHP, es posible cambiar ciertos valores en tiempo de ejecución usando ini_set(). Vea la documentación en la página sobre ini_set() para más información.
Si está interesado en una lista completa de parámetros de configuración en su sistema con sus valores actuales, puede ejecutar la función phpinfo(), y revisar la página resultante. También puede acceder a los valores de directivas de configuración individuales en tiempo de ejecución usando ini_get() o get_cfg_var().