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
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
precision
entero
Número de digitos significativos mostrados en numeros de coma
flotante_
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)_
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
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()_
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_
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_
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 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_
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_
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_
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_
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_
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 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_
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
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_