Задать вопрос
Vertexis
@Vertexis

Производительность PHAR-архива, действительно ли он быстрый?

Был вдохновлен на использование PHAR архивов, после работы с SILEX-framework (времен 2013 года).
Решил задействовать тот же подход и для своего проекта, сложив его ресурсы в в данный тип архива, тем более везде пишут о его преимуществах, например:
преимущества
  • PHAR легко устанавливается, а если точнее — он входит в стандартную поставку PHP 5.3.
  • Легко использовать.
  • Удобно при копировании файлов на другой хост.
  • Легко разворачивать — всего один файл.
  • Высокая степень защиты PHP приложения — сигнатуры, OpenSSL.
  • Обладает высокой производительностью.

Написал , проект с парой десятков емких вендоров и различного контента (~9000 штук фалов, примерно). Запаковал...
Копировать по удаленке такой проект просто сказка (1 файл), не желе несколько тысяч файлов по отдельности.
НО! Как потом выяснилось эмпирическим методом, производительность такой системы упала многократно!
Получение 1 любого файла стала занимать от 2 до 4 секунд (этотде проект вне PHAR-архива работает мгновенно). Это при том, что крутиться все это дело на php7.2 + ssd в качестве накопителя и PHAR использую без сжатия и шифрования. Особенно заметно в местах, где надо вывести лист иконок (содержимое одной директории)
Примеры:
Работа с raw ресурсами
$phar = new Phar($patchToPharFile);
 $phar[$myFile]->getContent();
Получение списка файлов в директории
$dir = 'phar://' . $pharFile . $patchToMyDir;
if (is_dir($dirFull) && ($dh = opendir($dirFull))) {
      while ((($fileName = readdir($dh)) !== false)) {
                //$fileName;
       }
      closedir($dh);
}

Думаю, может работаю с PHAR-архивами как нибудь неправильно. Что думаю об этом знатоки. За ответы спасибо
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега PHP
include 'phar:///path/to/myphar.phar/index.php';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽