El comportamiento de estas funciones se ve afectado por la configuración de php.ini.
Nombre | Por defecto | Cambiable | Historial de cambios |
---|---|---|---|
phar.readonly | "1" | PHP_INI_ALL | |
phar.require_hash | "1" | PHP_INI_ALL | |
phar.extract_list | "" | PHP_INI_ALL | Disponible desde phar 1.1.0 a 1.2.3, eliminado en 2.0.0. |
phar.cache_list | "" | PHP_INI_SYSTEM | Disponible desde phar 2.0.0. |
He aquí una breve explicación de las directivas de configuración.
phar.readonly
boolean
Esta opción deshabilita la modificación o creación de archivos Phar
usando el flujo phar
o el soporte para escritura de
objetos Phar. Este ajuste debería estar siempre activado en
máquinas de producción, ya que el soporte para escritura conveniente de la extensión phar
podría permitir la simple creación de un virus basado en PHP al asociarse
con otras vulnerabilidades de seguridad comunes.
Nota:
Este ajuste sólo puede ser desactivado en php.ini por motivos de seguridad. Si
phar.readonly
está deshabilitado en php.ini, un usuario puede habilitarphar.readonly
en un script o deshabilitarlo después. Siphar.readonly
está habilitado en php.ini, un scrip puede "re-habilitar" inofensivamente la variable INI, pero no puede deshabilitarla.
phar.require_hash
boolean
Esta opción forzará a todos los archivos Phar abiertos a que contengan algún tipo de signatura (actualmente está soportadas MD5, SHA1, SHA256 y SHA512), y rehusará procesar cualquer archivo Phar que no contenga una signatura.
Nota:
Este ajuste sólo puede ser desactivado en php.ini por motivos de seguridad. Si
phar.require_hash
está deshabilitado en php.ini, un usuario puede habilitarphar.require_hash
en un script o deshabilitarlo después. Siphar.require_hash
está habilitado en php.ini, un scrip puede "re-habilitar" inofensivamente la variable INI, pero no puede deshabilitarla.Este ajuste no afecta a la lectura de ficheros tar planos con la clase PharData.
phar.extract_list
string
Este ajuste INI ha sido eliminado desde phar 2.0.0
Permite el mapeo desde una ruta completa a un archivo phar o su alias hacia
la ubicación de sus ficheros extraídos.
El formato del parámetro es nombre=archivo,nombre2=archivo2
.
Esto permite la extracción de ficheros phar al disco, y permite a phar acutar como una
especie de mapeador para extraer ficheros de discos. A menudo, esto se reailza por motivos de
rendimiento, o para ayudar a la depuración de un phar.
Ejemplo #1 phar.extract_list usage example
in php.ini:
phar.extract_list = archivo=/ruta/completa/al/archivo/,archivo2=/ruta/completa/al/archivo2
<?php
include "phar://archivo/contenido.php";
include "phar://archivo2/foo.php";
?>
phar.cache_list
string
Este ajuste INI fue añadido en 2.0.0
Permite mapear archivos phar para que sean preanalizados en el arranque del servidor web, proporcionando una mejora de rendimiento que saca ficheros en ejecución de un archivo phar casi tan rápido como si esos ficheros se ejecutaran desde una instalación tradicional basada en disco.
Ejemplo #2 Ejemplo de uso de phar.cache_list
en php.ini (windows): phar.cache_list =C:\ruta\a\phar1.phar;C:\ruta\a\phar2.phar en php.ini (unix): phar.cache_list =/ruta/a/phar1.phar:/ruta/a/phar2.phar