Использование Phar-архивов: Введение
  
   Концептуально Phar-архивы аналогичны JAR-архивам Java, но учитывают
   нужды и гибкость PHP-приложений. Phar-архив используется для распространения
   законченного PHP-приложения или библиотеки в виде одного файла. Приложение,
   имеющее вид Phar-архива, используется в точности так же, как и любое другое PHP-приложение:
  
  
  
   Использование библиотеки, имеющей вид Phar-архива, идентично использованию любой другой PHP-библиотеки:
  
  
   
  
  
   Обёртка потока phar представляет собой основу модуля phar,
   про её использование подробно написано здесь.
   Обёртка потока phar предоставляет доступ к файлам внутри phar-архива
   с использованием стандартных файловых функции PHP: fopen(), opendir()
   и других, которые работают с обычными файлами.
   Обёртка потока phar поддерживает все операции чтения/записи
   как над файлами, так и над каталогами.
  
  
   
  
  
   Класс Phar реализует расширенные возможности по доступу к файлам
   и по созданию phar-архивов. Использование класса Phar подробно описано здесь.
  
  
   
  
  
   Кроме того, проверка содержимого phar-файла может быть осуществлена с помощью любого
   из поддерживаемых симметричных алгоритмов хеширования (MD5, SHA1, SHA256 и SHA512, если ext/hash включён),
   а также с помощью подписывания асимметричными открытым/закрытым ключами, используя OpenSSL.
   Для того чтобы использовать подписывание OpenSSL, вам необходимо сгенерировать пару из открытого и закрытого ключей
   и установить закрытый ключ для подписывания, используя Phar::setSignatureAlgorithm().
   Кроме того, открытый ключ, извлечённый при помощи этого кода:
   
<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
   
  должен быть сохранён рядом с phar-архивом, для проверки которого он используется.
  Если phar-архив сохранён как 
/путь/к/моему/архиву/my.phar,
  то открытый ключ должен быть сохранён как 
/путь/к/моему/архиву/my.phar.pubkey,
  иначе phar не сможет проверить подлинность подписи OpenSSL.
  
  
   Класс Phar также предоставляет 3 статических метода:
   Phar::webPhar(), Phar::mungServer() и Phar::interceptFileFuncs(),
   которые имеют решающее значение для упаковки PHP-приложений, предназначенных для использования на обычных файловых системах
   и для веб-приложений. Phar::webPhar() реализует фронтальный контроллер,
   который направляет HTTP-вызовы в правильное место внутри phar-архива.
   Phar::mungServer() используется для изменения значений массива $_SERVER,
   что позволяет обмануть приложения, обрабатывающие эти значения.
   Phar::interceptFileFuncs() инструктирует Phar о необходимости перехвата вызовов
   fopen(), file_get_contents(), opendir() и прочих функций,
   основанных на stat (file_exists(), is_readable() и так далее)
   и перенаправления всех относительных путей внутрь phar-архива.
  
  
   Например, для упаковки выпуска популярного приложения phpMyAdmin
   для его использования в качестве phar-архива, требуется только этот простой скрипт,
   а phpMyAdmin.phar.tar.php будет доступен как обычный файл
   на вашем веб-сервере после изменения значений user/password: