Descripción de las directivas de núcleo en php.ini

Esta lista incluye las directivas de núcleo en php.ini que puede definir para configurar su instalación de PHP. Las directivas gestionadas por extensiones son listadas en las páginas de documentación de las extensiones respectivamente. Por ejemplo, puede encontrarse información sobre las directivas de sesiones en la página de sesiones.

Opciones Httpd

Tabla H-3. Opciones Httpd

NombrePredeterminadoModificable
async_send"0"PHP_INI_ALL

Opciones del Lenguaje

Tabla H-4. Opciones del Lenguaje y Configuración Variada

NombrePredeterminadoModificable
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
zend.ze1_compatibility_modeOffPHP_INI_ALL

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

short_open_tag boolean

Indica si se permite el uso de la forma corta (<? ?>) de la etiqueta de apertura de PHP. Si desea usar PHP en conjunto con XML, puede deshabilitar esta opción, de modo que pueda usar <?xml ?> en forma directa. De otro modo, puede imprimir esta cadena con PHP, por ejemplo: <?php echo '<?xml version="1.0"'; ?>. Asimismo, si el parámetro está deshabilitado, debe usar la forma larga de la etiqueta de apertura de PHP (<?php ?>).

Nota: Esta directiva afecta también la contracción <?=, la cual es idéntica a <? echo. El uso de este atajo requiere que short_open_tag se encuentre habilitado.

asp_tags boolean

Habilita el uso de etiquetas <% %> tipo-ASP además de las etiquetas convencionales <?php ?>. Esto incluye el atajo para imprimir valores de variable <%= $valor %>. Para más información, vea Escapar desde HTML.

Nota: El soporte para etiquetas tipo-ASP fue agregado en 3.0.4.

precision integer

El número de dígitos significativos desplegados en números de punto flotante.

y2k_compliance boolean

Obligar compatibilidad con el año 2000 (causa problemas con navegadores no-compatibles)

allow_call_time_pass_reference boolean

Indica si se permite la habilidad de obligar que los argumentos sean pasados por referencia al momento de efectuar llamados de función. Este método es considerado obsoleto y es posible que no sea soportado en versiones futuras de PHP/Zend. El método recomendado de especificar cuáles argumentos deben ser pasados por referencia se encuentra en la declaración de funciones. Es recomendable que proceda a deshabilitar esta opción y asegurarse de que sus scripts trabajen correctamente sin ella, de modo que pueda estar seguro de que trabajarán con versiones futuras del lenguaje (recibirá una advertencia cada vez que use esta característica, y el argumento será pasado por valor, y no por referencia).

Pasar argumentos por referencia al momento de llamar una función fue declarado obsoleto por razones de limpieza del código. La función puede modificar su argumento de una forma no documentada si no se declara que el argumento es pasado por referencia. Para prevenir efectos colaterales, es mejor especificar cuáles argumentos son pasados por referencia únicamente en la declaración de la función.

Vea también las Referencias Explicadas.

expose_php boolean

Decide si PHP debe exponer el hecho de que está instalado en el servidor (p.ej. agregando su firma en la cabecera del servidor Web). No constituye un riesgo de seguridad en ninguna forma, pero hace posible determinar si usted usa PHP es su servidor o no.

zend.ze1_compatibility_mode boolean

Habilita el modo de compatibilidad con el Motor Zend 1 (PHP 4). Afecta el modo de clonar, moldear y comparar objetos.

Límites de Recursos

Tabla H-5. Límites de Recursos

NombrePredeterminadoModificable
memory_limit"8M"PHP_INI_ALL

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

memory_limit integer

Este valor define la cantidad máxima de memoria en bytes que un script puede reservar. Esto ayuda a prevenir que scripts pobremente escritos terminen consumiendo toda la memoria disponible en un servidor. Para usar esta directiva, es necesario habilitarla en tiempo de compilación. De modo que la línea de llamado a configure debe incluir: --enable-memory-limit. Note que es necesario definir su valor a -1 si no desea imponer un límite a su memoria.

A partir de PHP 4.3.2, y siempre que memory_limit se encuentre habilitado, la función de PHP memory_get_usage() estará disponible.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

Vea también: max_execution_time.

Manejo de Datos

Tabla H-6. Opciones de Configuración de Manejo de Datos

NombrePredeterminadoModificable
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 esta opción es habilitada, entonces las variables de Entorno, GET, POST, Cookies y Servidor pueden encontrarse en las matrices asociativas globales $_ENV, $_GET, $_POST, $_COOKIE, y $_SERVER.

Note que a partir de PHP 4.0.3, track_vars se encuentra habilitada siempre.

arg_separator.output string

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

arg_separator.input string

Lista de separadores usados por PHP para interpretar URLs de entrada en variables.

Nota: ¡Cada caracter en esta directiva es considerado como separador!

variables_order string

Establece el orden de procesamiento de variables EGPCS (Entorno, GET, POST, Cookie, Servidor). La configuración predeterminada de esta directiva es "EGPCS". Al definir este valor como "GP", por ejemplo, causará que PHP ignore completamente las variables de entorno, cookies y servidor, asi como que cualquier variable del método GET sea sobrescrita con una variable del método POST con el mismo nombre.

Vea también register_globals.

register_globals boolean

Indica si las variables EGPCS (Entorno, GET, POST, Cookie, Servidor) deben registrarse como variables globales o no.

A partir de PHP 4.2.0, esta directiva tiene el valor predeterminado off.

Por favor lea el capítulo de seguridad sobre el Uso de register_globals para más información al respecto.

Por favor note que register_globals no puede ser definido en tiempo de ejecución (ini_set()). Sin embargo, puede usar .htaccess si su servidor huésped lo permite como se describe anteriormente. Un ejemplo de entrada en .htaccess: php_flag register_globals off.

Nota: El valor register_globals es afectado por la directiva variables_order.

register_argc_argv boolean

Le dice a PHP si declarar las variables argv y argc (que contendrían la información de GET).

Vea también la documentación sobre la línea de comandos. Asimismo, esta directiva se encuentra disponible desde PHP 4.0.0, y su valor siempre fue "on" anteriormente.

register_long_arrays boolean

Le dice a PHP si debe registrar o no las variables predeterminadas largas tipo $HTTP_*_VARS. Cuando su valor es On (predeterminado), las variables de PHP largas predefinidas como $HTTP_GET_VARS serán definidas. Si no las usa, se recomienda deshablitar esta opción, por razones de rendimiento. En su lugar, use las matrices superglobales, como $_GET.

Esta directiva se encuentra disponible a partir de PHP 5.0.0.

post_max_size integer

Define el tamaño máximo permitido de datos enviados mediante el método post. Este parámetro afecta también la carga de archivos. Para cargar archivos grandes, este valor debe ser mayor que upload_max_filesize.

Si el límite de memoria es habilitado mediante su script configure, memory_limit afecta también la carga de archivos. En general, memory_limit debería ser mayor que post_max_size.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

gpc_order string

Define el orden de procesamiento de variables GET/POST/COOKIE. El valor predeterminado de esta directiva es "GPC". Al definir este valor como "GP", por ejemplo, se causará que PHP ignore por completo las cookies y sobrescriba cualquier variables proveniente del método GET con variables del método POST que tengan el mismo nombre.

Nota: Esta opción no se encuentra disponible en PHP 4. Use variables_order en su lugar.

auto_prepend_file string

Especifica el nombre de un archivo que es interpretado automáticamente antes del archivo principal. El archivo es incluido como si fuera llamado con la función include(), de modo que se usa el valor de include_path.

El valor especial none deshabilita el preprocesamiento automático.

auto_append_file string

Especifica el nombre de un archivo que es interpretado automáticamente después del archivo principal. El archivo es incluido como si fuera llamado con la función include(), así que el valor de include_path es usado.

El valor especial none deshabilita el procesamiento posterior automático.

Nota: Si el script es terminado con exit(), el procesamionto posterior no occurirá.

default_mimetype string

default_charset string

A partir de 4.0b4, PHP siempre imprime de manera predeterminada una codificación de caracteres en la cabecera Content-type:. Para deshabilitar el envío del juego de caracteres, simplemente defina este valor como vacío.

always_populate_raw_post_data boolean

Poblar siempre la variable $HTTP_RAW_POST_DATA.

allow_webdav_methods boolean

Permitir el manejo de peticiones WebDAV http al interior de scripts PHP (p.ej. PROPFIND, PROPPATCH, MOVE, COPY, etc.). Esta directiva no existe a la altura de PHP 4.3.2. Si desea obtener los datos enviados desde tales peticiones, tiene que definir always_populate_raw_post_data también.

Vea también: magic_quotes_gpc, magic_quotes_runtime, y magic_quotes_sybase.

Rutas y Directorios

Tabla H-7. Opciones de Configuración de Rutas y Directorios

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

Especifica una lista de directorios en donde las funciones require(), include() y fopen_with_path() buscan archivos. El formato es como aquel de la variable de entorno de sistema PATH: una lista de directorios separada con dos-puntos en Unix o punto-y-coma en Windows.

Ejemplo H-1. include_path en Unix

include_path=".:/php/includes"

Ejemplo H-2. include_path en Windows

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

Mediante el uso de . en la ruta de inclusión es posible definir inclusiones relativas, ya que su valor se traduce como el directorio actual.

doc_root string

El "directorio raíz" de PHP en el servidor. Usado solamente si su valor no es vacío. Si PHP es configurado con safe mode, no se servirán archivos por fuera de este directorio. Si PHP no fue compilado con FORCE_REDIRECT, usted debería definir doc_root en caso de estar usando PHP como CGI bajo cualquier servidor web (diferente a IIS). La alternativa es usar el parámetro de configuración cgi.force_redirect descrito más adelante.

user_dir string

El nombre base del directorio usado en un directorio de usuario para archivos PHP, por ejemplo public_html.

extension_dir string

El directorio en donde PHP ha de buscar por extensiones cargadas dinámicamente. Vea también: enable_dl, y dl().

extension string

Cuáles extensiones de carga dinámica leer cuando PHP inicia.

cgi.fix_pathinfo boolean

Ofrece un soporte real de PATH_INFO/PATH_TRANSLATED para CGI. El comportamiento anterior de PHP era definir PATH_TRANSLATED como SCRIPT_FILENAME, y no producir el valor PATH_INFO. Para más información sobre PATH_INFO, consulte las especificaciones sobre el estándar cgi. Definir este parámetro como 1 causará que el modo CGI de PHP fije su ruta para que cumpla con la especificación. Un valor de cero causa que PHP se comporte como lo hacía anteriormente. El valor predeterminado es cero. Es recomendable que arregle sus scripts para que usen SCRIPT_FILENAME en lugar de PATH_TRANSLATED.

cgi.force_redirect boolean

cgi.force_redirect es necesario para ofrecer seguridad cuando PHP es ejecutado como CGI bajo la mayoría de servidores web. Si no es definido, PHP habilita este parámetro por defecto. Es posible deshabilitarlo bajo su propio riesgo.

Nota: Usuarios de Windows: Es posible deshabilitar esta opción para IIS, de hecho, es necesario hacerlo. Para lograr que OmniHTTPD o Xitami funcionen es necesario deshabilitar este parámetro.

cgi.redirect_status_env string

Si cgi.force_redirect se encuentra habilitado, y no está usando servidores web Apache o Netscape (iPlanet), puede que necesite definir un nombre de variable de entorno que PHP use para saber si está bien continuar con la ejecución.

Nota: Definir esta variable puede causar problemas de seguridad, asegúrese de saber lo que hace primero.

fastcgi.impersonate string

FastCGI bajo IIS (en un SO basado en WINNT) soporta la habilidad de imitar tokens de seguridad del cliente que hace las peticiones. Esto permite que IIS defina el contexto de seguridad bajo el cual es ejecutada la petición. mod_fastcgi bajo apache no soporta esta característica por el momento (03/17/2002). Defina su valor como 1 si está usando IIS. Su valor predeterminado es cero.

cgi.rfc2616_headers int

Le dice a PHP qué tipo de cabeceras usar cuando envíe los códigos de respuesta HTTP. Si su valor es 0, PHP envía una cabecera Status: que es soportada por Apache y otros servidores web. Cuando esta opción tiene el valor de 1, PHP enviará cabeceras compatibles con el documento RFC 2616. Deje su valor en 0 a menos que sepa lo que está haciendo.

Carga de Archivos

Tabla H-8. Opciones de Configuración de Carga de Archivos

NombrePredeterminadoModificable
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

Indica si se permite o no la carga de archivos HTTP. Vea también las directivas upload_max_filesize, upload_tmp_dir, y post_max_size.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

upload_tmp_dir string

El directorio temporal usado para almacenar archivos cuando se realiza carga de archivos. Debe tener permisos de escritura para el usuario bajo el que PHP es ejecutado. Si no se especifica, PHP usará el valor predeterminado del sistema.

upload_max_filesize integer

El tamaño máximo de un archivo cargado.

Cuando se usa un número entero, el valor del mismo es medido en bytes. También se puede usar la notación reducida tal como se describe en esta FAQ.

SQL General

Tabla H-9. Opciones Generales de Configuración SQL

NombrePredeterminadoModificable
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

Solo PHP 3 implementa un depurador predeterminado, para más información consulte Apéndice E.

debugger.host string

Nombre DNS o dirección IP del host usado por el depurador.

debugger.port string

Número de puerto usado por el depurador.

debugger.enabled boolean

Indica si el depurador se encuentra habilitado.