Configuración en tiempo de ejecución
PHP Manual

Cómo cambiar los ajustes de configuración

Ejecutar PHP como un módulo de Apache

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 lugar php_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>

Precaución

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

Cambiar la configuración de PHP a través del registro de Windows

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.

Otras interfaces a PHP

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().


Configuración en tiempo de ejecución
PHP Manual