Configuración en tiempo de ejecución
PHP Manual

Cómo cambiar los ajustes de configuración

Ejecutando PHP como un módulo de Apache

Cuando se usa PHP como un módulo de Apache, puede 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. Necesitará los privilegios "AllowOverride Options" o "AllowOverride All" para poder hacerlo.

Hay varias directivas de Apache que le permiten cambiar la configuración de PHP desde los propios ficheros de configuración de Apache. Para consultar un listado de qué directivas 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

Fija el valor de la directiva especificada. Sólo puede usarse con las directivas de tipo PHP_INI_ALL y PHP_INI_PERDIR. Para dejar en blanco un valor previamente establecido, use none como valor.

Note: No uses php_value para fijar valores boolean. Debe usarse en su lugar php_flag (ver más abajo).

php_flag nombre on|off

Usado para fijar 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

Fija el valor de la directiva especificada. Esto no se puede usar en ficheros .htaccess. Ninguna directiva fijada con php_admin_value podrá ser sobrescrita por .htaccess o por ini_set(). Para borrar un valor fijado previamente use none como valor.

php_admin_flag nombre on|off

Usado para fijar una directiva de configuración de tipo boolean. Esto no se puede usar en ficheros .htaccess. Ninguna directiva fijada con php_admin_flag podrá ser sobcrescrita por .htaccess o por ini_set().

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>

Caution

Las constantes de PHP no existen fuera de PHP. Por ejemplo, en httpd.conf no puede usar constantes de PHP tales como E_ALL o E_NOTICE para fijar la directiva error_reporting puesto que no tendrán ningún significado y se evaluarán a 0. Use en su lugar la máscara de bits asociada. Estas constantes sí pueden ser usadas en php.ini

Cambiando la configuración de PHP a partir 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 sub-claves correspondientes al path. 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 cualquier de sus subdirectorios. Los valores bajo esta clave deben tener el nombre de la directiva de configuración de PHP y su valor. Las constantes de PHP usadas como valor no serán procesadas. En cualquier aso, únicamente los valores de configuración modificables presentes en PHP_INI_USER podrán fijarse con este método, mientras que los valores en PHP_INI_PERDIR no.

Otras interfaces a PHP

Independientemente de cómo ejecute PHP, puede cambiar determinados valores de sus scripts en tiempo de ejecución mediante ini_set(). Consulte la documentación en 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 parámetros 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