Неожиданные проблемы с PHP PHAR - PullRequest
6 голосов
/ 20 ноября 2011

После небольшого тестирования / написания сценариев / игры с PHP 5.3 PHAR-архивами я обнаружил некоторые проблемы.

glob

PHAR не работает с glob.Ни как обертка (http://www.php.net/manual/en/phar.using.stream.php#104320), ни как вызов функции.

В моем тестовом проекте мне приходилось перебирать файлы в PHAR и фильтровать результат по регулярному выражению, эквивалентному глобусу.

imagettfbbox

Понятия не имею почему, но imagettfbbox также не понимает обертку потока PHAR.

Самым простым решением здесь было извлечьфайл с помощью copy (). (PHAR :: extractTo для возврата с исключением без трассировки стека или номера строки.)

Есть ли другие сюрпризы, которых я должен ожидать? Есть ли другие известные проблемы? Иони где-нибудь задокументированы?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

Микрос каркас Silex распространяется в виде файла phar. Мы задокументировали большинство проблем, с которыми мы столкнулись , в разделе «Подводные камни» документации .

Примечание. В основном это с точки зрения пользователя.

2 голосов
/ 21 ноября 2011

glob: Я не думаю, что glob поддерживает потоки, поэтому это не относится только к phar://, но к любой обертке потока.

imagettfbbox : я думаю, что это то же самое, нет поддержки потоковых упаковщиков, но только голые файлы.

Есть и другие функции, с которыми вы тоже сталкиваетесь. Например, класс ZIP не может обрабатывать потоки.

И не все потоковые упаковщики поддерживают укладку потоковых упаковщиков, например одна оболочка работает на другую.

Не стесняйтесь открывать запросы функций в багтрекере php и / или поддерживать разработку PHP, чтобы обеспечить лучшую потоковую поддержку для компонентов, которые вам нужны.

Свободно связанные: В памяти скачать и распаковать zip архив

...