2011-11-20 9 views
5

Después de un poco de pruebas/scripting/jugando con PHP 5.3 PHAR archives, descubrí algunos problemas.Problemas inesperados con PHP PHAR

pegote

PHAR no funciona con pegote. Ni como envoltorio (http://www.php.net/manual/en/phar.using.stream.php#104320) ni como una llamada de función.

En mi proyecto de prueba tuve que iterar sobre los archivos en el PHAR y filtrar el resultado por una expresión regular equivalente glob.

imagettfbbox

no tengo idea de por qué, pero también imagettfbbox no entiende la envoltura de secuencia PHAR.

La solución más fácil aquí fue extraer el archivo mediante copy(). (PHAR :: extractPara devolver con una excepción sin un stacktrace ni un número de línea.)

¿Hay otras sorpresas, que debo esperar? ¿Hay otros problemas conocidos? Y están documentados en cualquier lugar?

+0

Considere agregar sus hallazgos a la base de datos de errores de PHP en http://bugs.php.net – Mchl

Respuesta

2

pegote: no creo que pegote soporta corrientes, así que esto no será específica para phar:// pero cualquier envoltura de secuencia.

imagettfbbox: Creo que esto es lo mismo, no es compatible con los contenedores de secuencias, pero solo contiene archivos sin formato.

Hay otras funciones, usted encuentra lo mismo, también. Por ejemplo, la clase ZIP no puede gestionar transmisiones también.

Y no toda la secuencia de flujo admite el apilamiento de la secuencia de flujo, p. una envoltura operando en otra.

Siéntase libre de abrir solicitudes de funciones en el rastreador de errores php y/o apoyar el desarrollo de PHP para introducir mejor soporte de flujo para los componentes que lo necesita.

vagamente relacionados:In memory download and extract zip archive

+0

¿Hay una lista de métodos/clases que tienen problemas con las transmisiones? – mheinzerling

+0

Ninguno de los que tenga conocimiento, de lo contrario lo habría agregado a la respuesta. Si encuentra uno, siéntase libre de agregar. – hakre

2

El microframework silex se distribuye como un archivo Phar. Hemos documentado la mayoría de los problemas que encontramos en in the pitfalls section of the documentation.

Nota: Esto es principalmente desde la perspectiva del usuario.

+0

#pitfalls se ha ido. –

+1

Saludos, actualizó el enlace. – igorw

+0

¿No más distribución de phar de silex? – demonkoryu

Cuestiones relacionadas