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.
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
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).
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
Número de digitos significativos mostrados en numeros de coma flotante.
Hace cumplir la conformidad con el año 2000 (Causará problemas con navegadores que no cumplan con esto)
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.
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
A continuación se presenta una corta explicación de las directivas de configuración
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.
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
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.
El separador usado en las URLs generadas por PHP para separar argumentos.
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.
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.
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.
Indica a PHP si tiene que declarar las variables argv & argc (que contendran la información de GET)
Ver también linea de comandos.
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.
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.
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.
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".
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á.
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.
Dar siempre valores a la variable $HTTP_RAW_POST_DATA
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.
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.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
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.
Usando un . en esta directiva, permitimos inclusiones relativas, un punto significa el directorio actual.
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.
El nombre base del directorio usado en el directorio de usuarios (home) para tener ficheros PHP. Por ejemplo, public_html.
en que directorio debe mirar PHP por extensiones que se pueden cargar dinámicamente. Ver también: enable_dl y dl().
Que extensión de carga dinámica se cargará al arrancar PHP.
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.
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 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.
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.
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
Permite HTTP file uploads. Ver también las directivas upload_max_filesize, upload_tmp_dir y post_max_size.
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.
Tamaño maximo de un fichero subido al servidor.
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
Atención |
Solamente PHP 3 implementa un depurador por defecto, para más información vea Apéndice D. |