Cuando se usa PHP como un módulo de Apache, se pueden cambiar los ajustes de configuración usando directivas en los ficheros de configuración de Apache (p.ej. httpd.conf) y en los ficheros .htaccess. Se necesitarán los privilegios "AllowOverride Options" o "AllowOverride All" para poder hacerlo.
Existen varias directivas de Apache que permiten
cambiar la configuración de PHP desde los propios ficheros de configuración
de Apache. Para un listado las directivas que son
PHP_INI_ALL
, PHP_INI_PERDIR
,
o PHP_INI_SYSTEM
, consulte el apéndice de la
Lista de directivas de php.ini.
php_value
nombre
valor
Establece el valor de la directiva especificada.
Sólo puede usarse con las directivas de tipo PHP_INI_ALL
y PHP_INI_PERDIR
.
Para borrar un valor previamente establecido, use none como valor.
Nota: No use
php_value
para establecer valores boolean. Debe usarse en su lugarphp_flag
(ver más abajo).
php_flag
nombre
on|off
Usado para establecer una directiva de configuración de tipo boolean.
Sólo puede usarse con las directivas de tipo
PHP_INI_ALL
y PHP_INI_PERDIR
.
php_admin_value
nombre
valor
Establece el valor de la directiva especificada.
Esto no se puede usar en ficheros .htaccess.
Ninguna directiva establecida con php_admin_value
podrá ser sobrescrita por .htaccess o por ini_set().
Para borrar un valor establecido previamente use none como valor.
php_admin_flag
nombre
on|off
Usado para establecer una directiva de configuración de tipo boolean.
Esto no se puede usar en ficheros .htaccess.
Ninguna directiva establecida con php_admin_flag
podrá ser sobrescrita por .htaccess o por ini_set().
Ejemplo #1 Ejemplo de configuración de Apache
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule>
Las constantes de PHP no existen fuera de PHP. Por ejemplo, en
httpd.conf no se pueden usar constantes de PHP
tales como E_ALL
o E_NOTICE
para establecer la directiva error_reporting
puesto que no tendrán ningún significado y se evaluarán como
0. Use en su lugar la máscara de bits asociada.
Estas constantes sí pueden ser usadas en php.ini
Cuando se ejecuta PHP en Windows, se pueden modificar los valores
de configuración a nivel de directorio usando el registro de Windows.
Los valores de configuración se almacenan en la clave de registro
HKLM\SOFTWARE\PHP\Per Directory Values,
en las subclaves correspondientes a los nombres de ruta. Por ejemplo, los valores
de configuración para el directorio c:\inetpub\wwwroot
se almacenarían en la clave HKLM\SOFTWARE\PHP\Per Directory
Values\c\inetpub\wwwroot. Los ajustes para el directorio
estarían activos para cualquier script dentro de este directorio o
en cualquiera de sus subdirectorios. Los valores bajo esta clave
deben tener el nombre de la directiva de configuración de PHP y el
valor como string. Las constantes de PHP usadas como valor no serán procesadas.
En cualquier caso, únicamente los valores de configuración
modificables de PHP_INI_USER
podrán
establecerse con este método, mientras que los valores de PHP_INI_PERDIR
no.
Independientemente de cómo ejecute PHP, se pueden cambiar determinados valores de los scripts en tiempo de ejecución mediante ini_set(). Consulte la documentación de la página ini_set() para más información.
Si está interesado en una lista completa de los ajustes de configuración en su sistema con sus valores actuales, puede ejecutar la función phpinfo(), y consultar la página mostrada. Puede también acceder a los valores de directivas de configuración concretas usando ini_get() o get_cfg_var().