PHP: Hypertext Preprocessor (original) (raw)
Cómo modificar la configuración
Ejecutar PHP como módulo Apache
Cuando se utiliza el módulo Apache, también se pueden cambiar los parámetros de configuración utilizando las directivas en los ficheros de configuración de Apache (httpd.conf) y en los ficheros .htaccess. Se necesitarán los privilegios "AllowOverride Options" o "AllowOverride All".
Hay muchas directivas Apache que permiten modificar la configuración de PHP desde los ficheros de configuración de Apache. Para una lista de las directivas que son INI_ALL
,INI_PERDIR
o INI_SYSTEM
consulte el anexo Lista de directivas del php.ini.
php_value
nombre
valor
Modifica el valor de la directiva especificada. Esta instrucción solo es utilizable con las directivas PHP de tipo**INI_ALL
** y INI_PERDIR
. Para anular un valor que hubiera sido modificado previamente, utilice el valor none
.
Nota: No utilice
php_value
para configurar valores booleanos.php_flag
(ver más abajo) debe ser utilizada.
php_flag
nombre
on|off
Esta instrucción se utiliza para activar o desactivar una opción. Esta instrucción solo es utilizable con las directivas PHP de tipo INI_ALL
y**INI_PERDIR
**.
php_admin_value
nombre
valor
Esta instrucción asigna un valor a la variable especificada. Esta instrucción NO puede ser utilizada en un fichero.htaccess. Cualquier directiva de PHP configurada con el tipophp_admin_value
no puede ser modificada utilizando el fichero .htaccess o la función ini_set(). Para anular un valor que hubiera sido modificado previamente, utilice la valor none
.
php_admin_flag
name
on|off
Esta directiva se utiliza para activar o desactivar una opción. Esta instrucción NO puede ser utilizada en un fichero.htaccess. Cualquier directiva de PHP configurada con el tipophp_admin_flag
no puede ser modificada utilizando el fichero .htaccess o por la función ini_set().
Ejemplo #1 Ejemplo de configuración Apache
php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on php_value include_path ".:/usr/local/lib/php" php_admin_flag engine onPrecaución
Las constantes PHP no existen fuera de PHP. Por ejemplo, en el fichero httpd.conf, no se pueden utilizar constantes PHP como**[E_ALL](errorfunc.constants.php#constant.e-all)
** o [E_NOTICE](errorfunc.constants.php#constant.e-notice)
para especificar el nivel de informe de errores, ya que estas constantes no tienen significado para Apache, y serán reemplazadas por 0. Utilice los valores numéricos en su lugar. Las constantes pueden ser utilizadas en el php.ini
Modificar la configuración de PHP a través del registro de Windows
Cuando se utiliza PHP en Windows, la configuración puede ser modificada directorio por directorio utilizando el registro de Windows. Los valores de configuración se almacenan con la clave de registroHKLM\SOFTWARE\PHP\Per Directory Values
, en las subclaves correspondientes a los nombres de directorio. Por ejemplo, el valor de una opción en el directorio c:\inetpub\wwwroot
se almacenará en la claveHKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot
. El valor de esta opción será utilizado para todos los scripts que funcionen en este directorio o sus subdirectorios. Los valores bajo la clave deben tener el nombre de una dirección de configuración PHP, y el valor correspondiente. Las constantes PHP no son utilizables : hay que poner el valor entero. Sin embargo, solo los valores de las configuraciones en**INI_USER
** pueden ser fijados de esta manera, los de INI_PERDIR
no pueden serlo, ya que estos valores de configuración son releídos en cada solicitud.
Otras interfaces de configuración de PHP
Según la forma en que se ejecute PHP, se pueden cambiar algunos valores durante la ejecución de los scripts utilizando ini_set(). Consulte la documentación de la función ini_set() para más información.
Si está interesado en una lista completa de las opciones configuradas en su sistema con sus valores actuales, puede ejecutar la función phpinfo() y consultar la página resultante. También se puede acceder individualmente a las directivas de configuración durante la ejecución de los scripts utilizando la funciónini_get() o la función get_cfg_var().
Found A Problem?
contrees.du.reve at gmail dot com ¶
17 years ago
`Being able to put php directives in httpd.conf and have them work on a per-directory or per-vitual host basis is just great. Now there's another aspect which might be worth being aware of:
A php.ini directive put into your apache conf file applies to php when it runs as an apache module (i.e. in a web page), but NOT when it runs as CLI (command-line interface).
Such feature that might be unwanted by an unhappy few, but I guess most will find it useful. As far as I'm concerned, I'm really happy that I can use open_basedir in my httpd.conf file, and it restricts the access of web users and sub-admins of my domain, but it does NOT restrict my own command-line php scripts...
`
6 months ago
If a directive has beeen set many times in different places, the precedence is as follows in descending order php-fpm php_*[foo] = bar command line argument -d foo=bar environment variable foo=bar and referenced as ${foo} in php.ini php.ini foo=bar