Directivas de configuración PHP

Esta no es un lista completa de directivas PHP_ Las directivas están listadas en su lugar apropiado, por ejemplo información sobre directivas de sesión se pueden localizar en el capítulo sobre sesiones_

Opciones Httpd

Tabla 4_2_ Opciones Httpd

Nombre Defecto Cambiable
async_send "0" PHP_INI_ALL

Opciones del lenguaje

Tabla 4_3_ Opciones del lenguaje y diversas

Nombre Defecto Cambiable
short_open_tag On PHP_INI_SYSTEM|PHP_INI_PERDIR
asp_tags Off PHP_INI_SYSTEM|PHP_INI_PERDIR
precision "14" PHP_INI_ALL
y2k_compliance Off PHP_INI_ALL
allow_call_time_pass_reference On PHP_INI_SYSTEM|PHP_INI_PERDIR
expose_php On PHP_INI_SYSTEM

A continuación se presenta una corta explicación de las directivas de configuración

short_open_tag

Indica si se debe permitir el formato corto (<? ?>) de la etiqueta de apertura del PHP_ Si desea utilizar PHP en combinación con XML, deberá desactivar esta opción para poder usar <?xml ?> en linea_ Si no, se puede imprimir con PHP, por ejemplo: <?php echo '<?xml version="1_0"'; ?>_ Si está desactivada, deberá utilizar el formato largo de la etiqueta de apertura (<?php ?>)_

Nota: Esta directiva tambien afecta a <?=, la cual es identica a <? echo_ El uso de este atajo requiere que short_open_tag esté activada (on)_

asp_tags

Permite el uso de las etiquetas al estilo ASP <% %> además de las habituales etiquetas <?php ?>_ También se incluye el atajo para imprimir variables <%= $valor %>

Nota: El soporte para etiquetas al estilo ASP se añadió en la 3_0_4

precision entero

Número de digitos significativos mostrados en numeros de coma flotante_

y2k_compliance

Hace cumplir la conformidad con el año 2000 (Causará problemas con navegadores que no cumplan con esto)

allow_call_time_pass_reference

Define si se permitirá la capacidad de forzar que los argumentos sean pasados por referencia en el momento de llamar a la función_ Este método no se utiliza más y probablemente no sea soportado en futuras versiones de PHP/Zend_ El método que se recomienda para especificar que argumentos deben ser pasados por referencia es usar la declaración de la función_ Se recomienda apagar esta opción y asegurarse que vuestros scripts funcionan para evitar problemas en el futuro_ (recibireis un aviso cada vez que utiliceis esta caracteristica y el argumento será pasaso por valor y no referencia)_

expose_php

Decide si PHP expondra el hecho de que está instalado en el servidor (p_ej_ añadiendo su firma a la cabecera del servidor web)_ Esto no es una amenaza a la seguridad del sistema, pero hace posible averiguar si utilizais PHP en

Limites de recursos

Tabla 4_4_ Limites de recursos

Nombre Defecto Cambiable
memory_limit "8M" PHP_INI_ALL

A continuación se presenta una corta explicación de las directivas de configuración

memory_limit

Asigna la cantidad maxima de memoria en bytes que un script puede usar_ De esta manera se previene que scripts que no están muy bien escritos, usen toda la memoria disponible en el servidor_ Para poder usar esta directiva hay que definirla a la hora de compilar PHP, incluyendo __enable_memory_limit cuando ejecuteis "configure"_ Si no quereis tener ningun limite en el uso de la memoria teneis que asignarle un valor _1_

A partir de PHP 4_3_2, y cuando memory_limit se encuentra activada, esta disponible la funcion memory_get_usage()_

Tratamiento de datos

Tabla 4_5_ Opciones de configuración para el tratamiento de datos

Nombre Defecto Cambiable
track_vars "On" PHP_INI_??
arg_separator_output "&" PHP_INI_ALL
arg_separator_input "&" PHP_INI_SYSTEM|PHP_INI_PERDIR
variables_order "EGPCS" PHP_INI_ALL
register_globals "Off" PHP_INI_PERDIR|PHP_INI_SYSTEM
register_argc_argv "On" PHP_INI_PERDIR|PHP_INI_SYSTEM
register_long_arrays "On" PHP_INI_PERDIR|PHP_INI_SYSTEM
post_max_size "8M" PHP_INI_SYSTEM|PHP_INI_PERDIR
gpc_order "GPC" PHP_INI_ALL
auto_prepend_file "" PHP_INI_SYSTEM|PHP_INI_PERDIR
auto_append_file "" PHP_INI_SYSTEM|PHP_INI_PERDIR
default_mimetype "text/html" PHP_INI_ALL
default_charset "iso_8859_1" PHP_INI_ALL
always_populate_raw_post_data "0" PHP_INI_SYSTEM|PHP_INI_PERDIR
allow_webdav_methods "0" PHP_INI_SYSTEM|PHP_INI_PERDIR

A continuación se presenta una corta explicación de las directivas de configuración

track_vars

Si se activa, las variables de Entorno, GET, POST, Cookie y Server se pueden encontrar en las matrices globales asociadas $_ENV, $_GET, $_POST, $_COOKIE y $_SERVER_

A partir de PHP 4_0_3, track_vars esta siempre activada_

arg_separator_output

El separador usado en las URLs generadas por PHP para separar argumentos_

arg_separator_input

Lista de separadores usados por PHP para analizar URLs de entrada y asignarla a variables_

Nota: Todo caracter en esta directiva es considerado un separador_

variables_order

Asigna el orden del analizador de variables EGPCS (Environment, GET, POST, Cookie, Server)_ El valor por defecto de esta directiva es "EGPCS"_ Asignandole el valor "GP", por ejemplo, causará que PHP ignore por completo las variables de entorno, cookies y variables server y sobreescriba toda variable GET con variables POST del mismo nombre_

register_globals

Define si se registrará o no las variables EGPCS como variables globales_ Por ejemplo, si register_globals = on, la url http://www_example_com/test_php?id=3 producirá $id_ O, $DOCUMENT_ROOT desde $_SERVER['DOCUMENT_ROOT']_ A lo mejor quereis desactivar este comportamiento para no confundir datos globales de vuestros scripts con datos de usuarios_ Desde PHP 4_2_0, esta directiva tiene asignada el valor off por defecto_ Es preferible usar las variables predefinidas en PHP, tales como superglobales: $_ENV, $_GET, $_POST, $_COOKIE y $_SERVER_ Por favor leer el capítulo Usando register_globals para más información relacionada_

Hay que tener en cuenta que register_globals no se puede definir en tiempo de ejecución (ini_set())_ Aunque se puede usar _htaccess si el servidor lo permite_ Por ejemplo: php_flag register_globals on_

Nota: register_globals es afectada por la directiva variables_order_

register_argc_argv

Indica a PHP si tiene que declarar las variables argv & argc (que contendran la información de GET)

register_long_arrays

Indica a PHP si tiene que registrar ó no las variables predefinidas del tipo $HTTP_*_VARS_ Cuando tenga el valor 'On' (por defecto) las variables predefinidas como $HTTP_GET_VARS se definirán_ Si no las utilizais, se recomienda el desactivarlas, por razones de rendimiento_ Usar en su lugar las matrices superglobales como $_GET_

This directive became available in PHP 5_0_0_

post_max_size

Define el tamaño maximo permitido de datos posteados_ Tambien afecta a la subida de ficheros al servidor_ Para subir ficheros de gran tamaño deberemos tener un valor mayor que el definido en upload_max_filesize_

Si el límite de memoria está definido, memory_limit también afectará a la subida de ficheros_ Generalmente memory_limit debería ser mayor que post_max_size_

gpc_order

Define el orden en el que se analizarán las variables GET/POST/COOKIE_ El valor por defecto de esta directiva es "GPC"_ Por ejemplo, si le asignamos el valor "GP", PHP ignorará por completo las cookies y sobreescriba toda variable GET con variables POST del mismo nombre_

Nota: Esta opción no se encuentra disponible en PHP 4_ Usar en su lugar variables_order_

auto_prepend_file

Especifica el nombre del fichero que es analizado automaticamente antes que el fichero principal_ El fichero es incluido de la misma manera que si fuese llamado con la función include(), asi que include_path es usado_

El valor especial none desactiva "auto_prepending"_

auto_append_file

Especifica el nombre del fichero que es analizado automaticamente despues que el fichero principal_ El fichero es incluido de la misma manera que si fuese llamado con la función include(), asi que include_path es usado_

El valor especial none desactiva "auto_prepending"_

Nota: Si el script es terminado con la función exit(), el auto_añadido (auto_append) no occurrirá_

default_mimetype

default_charset

a partir de PHP 4_0b4, PHP siempre muestra una codificación de carácteres por defecto en la cabecera "Content_type"_ Para desactivar esto, asignarle un valor vacio_

always_populate_raw_post_data

Dar siempre valores a la variable $HTTP_RAW_POST_DATA

allow_webdav_methods

Permite el uso de peticiones WebDAV http desde scripts en PHP (p_ej_ PROPFIND, PROPPATCH, MOVE, COPY, etc__)_ si quereis obtener los datos de estas peticiones, teneis que definir también always_populate_raw_post_data_

Paths y Directorios

Tabla 4_6_ Opciones de configuración de Paths y Directorios

Nombre Defecto Cambiable
include_path PHP_INCLUDE_PATH PHP_INI_ALL
doc_root PHP_INCLUDE_PATH PHP_INI_SYSTEM
user_dir NULL PHP_INI_SYSTEM
extension_dir PHP_EXTENSION_DIR PHP_INI_SYSTEM
cgi_fix_pathinfo "0" PHP_INI_SYSTEM
cgi_force_redirect "1" PHP_INI_SYSTEM
cgi_redirect_status_env "" PHP_INI_SYSTEM
fastcgi_impersonate "0" PHP_INI_SYSTEM
cgi_rfc2616_headers "0" PHP_INI_SYSTEM

A continuación se presenta una corta explicación de las directivas de configuración

include_path

Especifica una lista de directorios en donde las funciones require(), include() y fopen_with_path() tratan de encontrar ficheros_ El formato es igual al utilizado en la variable de entorno PATH: una lista de directorios separados con dos puntos (:) en UNIX y punto y coma (;) en Windows_

Ejemplo 4_3_ UNIX include_path

include_path="_:/php/includes"

Ejemplo 4_4_ Windows include_path

include_path="_;c:\php\includes"

Usando un _ en esta directiva, permitimos inclusiones relativas, un punto significa el directorio actual_

doc_root

El directorio raiz de PHP en el servidor_ Solamente usado si no esta vacio_ Si PHP está configurado con safe mode, no se podran servir ficheros fuera de este directorio_ si PHP no fue compilado con FORCE_REDIRECT, DEBERIAIS definir doc_root si correis PHP como CGI bajo un servidor web (que no sea IIS)_ Una alternativa es usar cgi_force_redirect_

user_dir

El nombre base del directorio usado en el directorio de usuarios (home) para tener ficheros PHP_ Por ejemplo, public_html_

extension_dir

en que directorio debe mirar PHP por extensiones que se pueden cargar dinámicamente_ Ver también: enable_dl y dl()_

extension

Que extensión de carga dinámica se cargará al arrancar PHP_

cgi_fix_pathinfo

Provee soporte PATH_INFO/PATH_TRANSLATED real para CGI_ PHP en el pasado asignaba el valor de SCRIPT_FILENAME a PATH_TRANSLATED sin importarle el valor de PATH_INFO_ Para mas informacion sobre PATH_INFO, ver la especificacion cgi_ Si asignamos el valor 1, PHP CGI arreglara su PATH para cumplir con la especificacion_ Si asignamos el valor 0, PHP se comportara como en el pasado_ Por defecto se usa 0_ Deberiais de arreglar vuestros scripts para que usen SCRIPT_FILENAME en vez de PATH_TRANSLATED_

cgi_force_redirect

cgi_force_redirect es necesario para dar seguridad cuando usemos PHP como CGI_ Si no se define, PHP la activará por defecto_ Se puede desactivar será tu responsabilidad_

Nota: Usuarios de Windows: Podeis desactivar sin riesgo esto en IIS_ Es más, debeis hacerlo_ Para poder utilizar OmniHTTPD ó Xitami debeis desactivarlo_

cgi_redirect_status_env

Si cgi_force_redirect esta activado y no estais usando los servidores web Apache ó Netscape (iPlanet), puede que necesiteis definir una variable de entorno que PHP usará para saber si puede seguir ó no la ejecución de un script_

Nota: Definir esta variable puede ser un riesgo de seguridad_ DEBEIS DE SABER QUE HACEIS ANTES DE HACERLO_

fastcgi_impersonate

FastCGI bajo IIS (en SO basados en WINNT) soporta la personalización de los parametros de seguridad en el cliente_ Esto permite a IIS definir el contexto de seguridad bajo el que se ejecuta una petición_ mod_fastcgi bajo Apache no soporta actualmente esto (03/17/2002)_ Definir como 1 si usais IIS_ Por defecto es 0_

cgi_rfc2616_headers

Le indica a PHP que tipo de cabeceras tiene que usar cuando mande código HTTP de respuesta_ Si se define como '0', PHP manda una cabecera 'Status:' soportada por Apache y otros navegadores_ Cuando se define como '1', PHP manda cabeceras que cumplan con RFC 2616_ Dejarla definida como '0' a menos que sepais que estais haciendo_

Subida de ficheros (upload)

Tabla 4_7_ Opciones de configuración para subidas de ficheros

Nombre Defecto Cambiable
file_uploads "1" PHP_INI_SYSTEM
upload_tmp_dir NULL PHP_INI_SYSTEM
upload_max_filesize "2M" PHP_INI_SYSTEM|PHP_INI_PERDIR

A continuación se presenta una corta explicación de las directivas de configuración

file_uploads

Permite HTTP file uploads_ Ver también las directivas upload_max_filesize, upload_tmp_dir y post_max_size_

upload_tmp_dir

El directorio temporal usado para grabar ficheros cuando se realiza una subida (upload) al servidor_ Debe tener permiso de escritura para el usuario que ejecuta PHP_ Si no se especifica, PHP usará el directorio temporal por defecto del sistema_

upload_max_filesize

Tamaño maximo de un fichero subido al servidor_

General SQL

Tabla 4_8_ Opciones generales de configuración SQL

Nombre Defecto Cambiable
sql_safe_mode "0" PHP_INI_SYSTEM

A continuación se presenta una corta explicación de las directivas de configuración

sql_safe_mode

Directivas de configuración del depurador

Atención

Solamente PHP 3 implementa un depurador por defecto.

debugger_host

Nombre en el DNS ó IP de la máquina usada por el depurador (debugger)_

debugger_port

Número de puerto usado por el depurador_

debugger_enabled

Determina si el depurador está disponible ó no_

sql_safe_mode

Directivas de configuración del depurador

Atención

Solamente PHP 3 implementa un depurador por defecto.

debugger_host

Nombre en el DNS ó IP de la máquina usada por el depurador (debugger)_

debugger_port

Número de puerto usado por el depurador_

debugger_enabled

Determina si el depurador está disponible ó no_

  Imprimir

Cerrar ventana