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
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_
|