Pull to refresh

Comments 13

apc и всякие eaccelerator-ы кэшируют в байт-код содержимое phar-ов?
Насколько я помню, APC раньше кешировал только содержимое stub phar-архива, но не содержание.
Интерестно, с какой версии APC стал корректно работать с phar? Просто это прошло как-то мимо меня, а changelog APC об этом не пишет.
А ещё не извлекаются директории, несмотря на заявленную поддержку, только отдельные файлы (разработчики уже в курсе).
Не гладко, но в умелых руках всё равно полезный инструмент.
Мой движок 1.2 МБ запаковался в 271.8 КБ
Значит там не просто tar, а скорее tgz.
Из статьи:

//Конвертируем с bz2 сжатием, назначаем расширение .phar
$phar->convertToExecutable(Phar::TAR, Phar::BZ2, '.phar');

Поддерживается так же конвертация без сжатия, и с gz сжатием. Просто bz2 показал наилучший результат. Хотя он и самый медленный в работе (разница небольшая, но всё же) — для установщика как раз то, что нужно.
Тут на сайте IBM есть инфа, о том, что тип содержимого phar может быть родным или tar и zip.

By default, the Phar created will use the native Phar-based archive format. You can also use the ZIP or TAR format for the Phar file by converting it to that format, shown in Listing 2, by changing the format to ZIP.

Listing 2. Changing the storage format to ZIP
$p = $p->convertToExecutable(Phar::ZIP);

Sign up to leave a comment.

Articles