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.
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
async_send | "0" | PHP_INI_ALL |
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0. |
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. |
precision | "14" | PHP_INI_ALL | |
y2k_compliance | "1" | PHP_INI_ALL | |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.0.0. |
expose_php | "1" | sólo php.ini | |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponible desde PHP 5.0.0. |
A continuación se presenta una corta explicación de las directivas de configuración.
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 ?>
).
Note: Esta directiva afecta también la contracción
<?=
, la cual es idéntica a<? echo
. El uso de este atajo requiere queshort_open_tag
se encuentre habilitado.
Note: El soporte para etiquetas tipo-ASP fue agregado en 3.0.4.
Indica si se debe emitir una advertencia cuando se pasan argumentos 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).
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.
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.
Habilita el modo de compatibilidad con el Motor Zend 1 (PHP 4). Afecta el modo de clonar, moldear (los objetos sin propiedades son moldeados a FALSE o 0) y comparar objetos. En este modo, los objetos son pasados de forma predeterminada por valor en lugar de hacerlo por referencia.
Vea también la sección titulada Migración de PHP 4 a PHP 5.
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
memory_limit | "128M" | PHP_INI_ALL | "8M" antes de PHP 5.2.0, "16M" en PHP 5.2.0 |
A continuación se presenta una corta explicación de las directivas de configuración.
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. Note que para no declarar un límite de memoria, puede definir esta directiva con el valor -1.
Antes de PHP 5.2.1, para usar esta directiva, tenía que ser habilitada en tiempo de compilación usando -enable-memory-limit en la línea de configuración. Esto también era requerido para definir las funciones memory_get_usage() y memory_get_peak_usage().
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.
Nombre | Predeterminado | Modificable | Registro de Cambios |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0. |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponible desde PHP 5.1.0. |
A continuación se presenta una corta explicación de las directivas de configuración.
Determina el tamaño del caché realpath a ser usado por PHP. Este valor debe ser incrementado en sistemas en los que PHP abre muchos archivos, para reflejar la cantidad de operaciones de archivo realizadas.
Duración de tiempo (en segundos) para mantener en caché la información de realpath para un archivo o directorio dado. En sistemas en los que raramente cambian los archivos, considere incrementar este valor.
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
track_vars | "On" | PHP_INI_?? | |
arg_separator.output | "&" | PHP_INI_ALL | Disponible desde PHP 4.0.5. |
arg_separator.input | "&" | PHP_INI_PERDIR | Disponible desde PHP 4.0.5. |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 5.0.5. |
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0. |
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. |
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. |
register_long_arrays | "1" | PHP_INI_PERDIR | Disponible desde PHP 5.0.0. |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP 4.0.3. |
gpc_order | "GPC" | PHP_INI_ALL | |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. |
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. |
default_mimetype | "text/html" | PHP_INI_ALL | |
default_charset | "" | PHP_INI_ALL | |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.1.0. |
allow_webdav_methods | "0" | PHP_INI_PERDIR |
A continuación se presenta una corta explicación de las directivas de configuración.
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.
El separador usado en URLs generadas por PHP para separar los argumentos.
Lista de separadores usados por PHP para interpretar URLs de entrada en variables.
Note: ¡Cada caracter en esta directiva es considerado como separador!
Establece el orden de procesamiento de variables EGPCS (Entorno, GET, POST, Cookie, y Servidor). Por ejemplo, si variables_order se define como "SP", entonces PHP creará las variables superglobals $_SERVER y $_POST, pero no creará $_ENV, $_GET, ni $_COOKIE. El valor "" quiere decir que ninguna variable superglobals será definida.
Si la directiva, ahora obsoleta, register_globals es habilitada (ésta ha sido removida para PHP 6.0.0), entonces variables_order también configura el orden en que las variables ENV, GET, POST, COOKIE and SERVER son pobladas en el contexto global. De modo que por ejemplo si variables_order se define como "EGPCS", register_globals es habilitado, y tanto $_GET['action'] como $_POST['action'] son definidos, entonces $action tendrá el valor de $_POST['action'] ya que P viene después de G en nuestro valor de ejemplo de la directiva.
En las SAPIs CGI y FastCGI, la matriz $_SERVER es poblada con valores del entorno; S siempre es equivalente a ES sin importar la ubicación de E en cualquier otra parte de esta directiva.
Note: El contenido y el orden de $_REQUEST es también afectado por esta directiva.
Cuando es habilitado el parámetro, las variables SERVER y ENV son creadas al usarse por primera vez ("Just In Time", o justo a tiempo) en lugar de hacerlo cuando el script inicia. Si estas variables no son usadas al interior del script, esta directiva resultará en una ganancia en rendimiento.
Las directivas de PHP register_globals, register_long_arrays, y register_argc_argv deben ser deshabilitadas para que esta directiva tenga efecto. A partir de PHP 5.1.3 no es necesario deshabilitar register_argc_argv.
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
.
Note: El valor
register_globals
es afectado por la directiva variables_order.
This feature is DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
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.
Note: Esta opción no se encuentra disponible en PHP 4. Use variables_order en su lugar.
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 require(), de modo que se usa el valor de include_path.
El valor especial none deshabilita el preprocesamiento automático.
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 require(), así que el valor de include_path es usado.
El valor especial none deshabilita el procesamiento posterior automático.
Note: Si el script es terminado con exit(), el procesamiento posterior no occurirá.
A partir de 4.0.0, 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.
Poblar siempre $HTTP_RAW_POST_DATA, que centiene los datos POST puros. De otra forma, la variable es poblada solamente con los tipos de datos MIME no reconocidos. Sin embargo, el método preferido para acceder a los datos POST puros es php://input. $HTTP_RAW_POST_DATA no se encuentra disponible con enctype="multipart/form-data".
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.
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
include_path | ".;/ruta/hacia/php/pear" | PHP_INI_ALL | |
doc_root | NULL | PHP_INI_SYSTEM | |
user_dir | NULL | PHP_INI_SYSTEM | |
extension_dir | "/ruta/hacia/php" | PHP_INI_SYSTEM | |
extension | NULL | php.ini solamente | |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponible desde PHP 5.2.0. |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. PHP_INI_ALL antes de PHP 5.2.1. |
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. PHP_INI_ALL antes de PHP 5.2.1. |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Disponible desde PHP 4.2.0. PHP_INI_ALL antes de PHP 5.2.1. |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Disponible desde PHP 4.3.0. PHP_INI_ALL antes de PHP 5.2.1. |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponible desde PHP 4.3.0. |
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(), fopen(), file(), readfile() y file_get_contents() 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.
Example#1 include_path en Unix
include_path=".:/php/includes"
Example#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.
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.
El nombre base del directorio usado en un directorio de usuario para archivos PHP, por ejemplo public_html.
El directorio en donde PHP ha de buscar por extensiones cargadas dinámicamente. Vea también: enable_dl, y dl().
Cuáles extensiones de carga dinámica leer cuando PHP inicia.
Controla si PHP CGI verifica la existencia de una línea que comienze con #! (la secuencia conocida como shebang) al inicio del script en ejecución. Esta línea puede necesitarse si el script soporta la ejecución tanto como script independiente como un script CGI. PHP en modo CGI ignora esta línea y su contenido si esta directiva es habilitada.
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 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.
Note: 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.
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.
Note: Definir esta variable puede causar problemas de seguridad, asegúrese de saber lo que hace primero.
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.
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.
Nombre | Predeterminado | Modificable | Cambios |
---|---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL en PHP <= 4.2.3. Disponible desde PHP 4.0.3. |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. |
A continuación se presenta una corta explicación de las directivas de configuración.
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.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.
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.
Nombre | Predeterminado | Modificable | |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM |
A continuación se presenta una corta explicación de las directivas de configuración.
Si es habilitado, las funciones de conexión a bases de datos que especifiquen valores predeterminados usarán esos valores en lugar de los argumentos ofrecidos. Para más información sobre los valores predeterminados, vea la documentación de las funciones de conexión de la base de datos relevante.
Solo PHP 3 implementa un depurador predeterminado, para más información consulte Depuración en PHP.