Directivas de configuración diversas

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

NombreDefectoCambiable
async_send"0"PHP_INI_ALL

Opciones del lenguaje

Tabla 4-3. Opciones del lenguaje y diversas

NombreDefectoCambiable
short_open_tagOnPHP_INI_SYSTEM|PHP_INI_PERDIR
asp_tagsOffPHP_INI_SYSTEM|PHP_INI_PERDIR
precision"14"PHP_INI_ALL
y2k_complianceOffPHP_INI_ALL
allow_call_time_pass_referenceOnPHP_INI_SYSTEM|PHP_INI_PERDIR
expose_phpOnPHP_INI_SYSTEM

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

short_open_tag boolean

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 boolean

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 %>. Para más información, vea Escapando del HTML.

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 boolean

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

allow_call_time_pass_reference boolean

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

Ver también Explicación de Referencias.

expose_php boolean

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

NombreDefectoCambiable
memory_limit"8M"PHP_INI_ALL

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

memory_limit integer

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.

Ver también max_execution_time.

Tratamiento de datos

Tabla 4-5. Opciones de configuración para el tratamiento de datos

NombreDefectoCambiable
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 boolean

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 string

El separador usado en las URLs generadas por PHP para separar argumentos.

arg_separator.input string

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 string

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.

Ver también register_globals.

register_globals boolean

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 boolean

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

Ver también linea de comandos.

register_long_arrays boolean

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 integer

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 string

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 string

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 string

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 string

default_charset string

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 boolean

Dar siempre valores a la variable $HTTP_RAW_POST_DATA

allow_webdav_methods boolean

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.

Ver también: magic_quotes_gpc, magic-quotes-runtime y magic_quotes_sybase.

Paths y Directorios

Tabla 4-6. Opciones de configuración de Paths y Directorios

NombreDefectoCambiable
include_pathPHP_INCLUDE_PATHPHP_INI_ALL
doc_rootPHP_INCLUDE_PATHPHP_INI_SYSTEM
user_dirNULLPHP_INI_SYSTEM
extension_dirPHP_EXTENSION_DIRPHP_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 string

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 string

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 string

El nombre base del directorio usado en el directorio de usuarios (home) para tener ficheros PHP. Por ejemplo, public_html.

extension_dir string

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

extension string

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

cgi.force_redirect boolean

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 string

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 string

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 int

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

NombreDefectoCambiable
file_uploads"1"PHP_INI_SYSTEM
upload_tmp_dirNULLPHP_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 boolean

Permite HTTP file uploads. Ver también las directivas upload_max_filesize, upload_tmp_dir y post_max_size.

upload_tmp_dir string

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 integer

Tamaño maximo de un fichero subido al servidor.

General SQL

Tabla 4-8. Opciones generales de configuración SQL

NombreDefectoCambiable
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 boolean

Directivas de configuración del depurador

Atención

Solamente PHP 3 implementa un depurador por defecto, para más información vea Apéndice D.

debugger.host string

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

debugger.port string

Número de puerto usado por el depurador.

debugger.enabled boolean

Determina si el depurador está disponible ó no.