2011-11-20 18 views
5

PHP 5.3 PHAR arşivleriyle biraz test/komut dosyası/oynatma işleminden sonra bazı problemler keşfettim.PHP ile beklenmeyen sorunlar PHAR

glob topak ile çalışmıyor

Phar. Sarıcı olarak (http://www.php.net/manual/en/phar.using.stream.php#104320) ne de işlev çağrısı olarak.

Test projemde PHAR'daki dosyalar üzerinde yinelemeliydim ve sonucu glob eşdeğer düzenli ifade ile filtrelemeliydim.

imagettfbbox

Hiçbir fikrim neden yok, ama imagettfbbox da PHAR akışı sarmalayıcı anlamıyor.

Buradaki en kolay çözüm, dosyayı copy() ile çıkarmaktı. (PHAR :: extractBir stacktrace veya satır numarası olmayan bir istisna ile dönmek için.)

Beklemem gereken başka sürprizler var mı? Bilinen başka sorunlar var mı? Ve herhangi bir yerde belgelenmişler mi?

+0

Lütfen bulgularınızı http://bugs.php.net adresinden PHP'nin hata veritabanına eklemeyi düşünün. – Mchl

cevap

2

glob: Ben glob akışı destekler sanmıyorum, bu nedenle bu phar:// ancak herhangi akışı sargıya özgü olmayacaktır.

imagettfbbox: Sanırım bu aynı, akış paketleyicileri için destek yok, yalnızca çıplak dosyalar.

Başka işlevler de var, aynı şeylerle de karşılaşıyorsunuz. Örneğin, ZIP sınıfı da akışları işleyemez. Ve tüm sargı sarıcı desteği akış sarıcısı istifleme, ör. diğerinde çalışan bir sarıcı.

php hata denetleyicisindeki özellik isteklerini açmaktan ve/veya PHP geliştirmeyi desteklemek için ihtiyacınız olan bileşenler için daha iyi akış desteği sunmaktan çekinmeyin.

gevşek ilgili:In memory download and extract zip archive

+0

Akımlarla ilgili problemlere sahip bir yöntem/sınıf listesi var mı? – mheinzerling

+0

Hiçbiri farkında değilim, aksi halde cevabı ekledim. Eğer bir tane bulursan, eklemek için çekinmeyin. – hakre

2

çakmaktaşı microframework bir Phar dosyası olarak dağıtılır. in the pitfalls section of the documentation'a girdiğimiz sorunların çoğunu belgeledik.

Not: Bu çoğunlukla bir kullanıcı bakış açısıyla ilgilidir.

+0

#pitfalls gitti. –

+1

Şerefe, bağlantıyı güncelledi. – igorw

+0

Silex'in phar dağılımı yok mu? – demonkoryu