Phar::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToExecutable — Конвертирует phar-архив в другой исполняемый формат файла
Описание
Замечание:
Для корректной работы с объектами Phar
этому методу необходима установка значения php.ini phar.readonly
в 0
.
В противном случае, будет выброшено исключение PharException.
Этот метод используется для конвертирования phar-архива в другой формат файла. Например,
он может быть использован для создания исполняемого phar-архива, основанного на tar,
из исполняемого phar-архива, основанного на zip, или из исполняемого phar-архива с форматом
файла phar. Кроме того, данный метод может быть использован для сжатия целого архива,
основанного на tar или phar.
Если не были указаны никакие изменения, то данный метод выбросит исключение BadMethodCallException.
В случае успешного выполнения данный метод создаёт на диске новый архив и возвращает объект Phar.
Старый архив не удаляется с диска, это должно быть сделано вручную после завершения процесса.
Список параметров
format
-
Значением этого параметра должна быть одна из констант: Phar::PHAR
,
Phar::TAR
или Phar::ZIP
. Если значение установлено
в null
, то существующий формат файла будет сохранён.
compression
-
Значением этого параметра должна быть одна из констант: Phar::NONE
для отсутствия сжатия всего архива, Phar::GZ
для сжатия, основанного
на zlib, или Phar::BZ2
для bzip-сжатия.
extension
-
Этот параметр используется для переопределения расширение файла по умолчанию для
сконвертированного архива. Обратите внимание, что все phar-архивы, основанные
на tar или zip, должны содержать .phar
в расширении файла
чтобы они могли быть обработаны в качестве phar-архива.
В случае конвертации архива, основанного на phar, расширениями по умолчанию
являются .phar
, .phar.gz
и .phar.bz2
,
в зависимости от указанного сжатия. В случае конвертации phar-архива,
основанного на tar, расширениями по умолчанию являются .phar.tar
,
.phar.tar.gz
и .phar.tar.bz2
. Для архивов,
основанных на zip, расширением по умолчанию является .zip
.
Возвращаемые значения
Данный метод возвращает объект Phar в успешного выполнения и
null
в случае возникновения ошибки.
Примеры
Пример #1 Пример использования Phar::convertToExecutable()
Использование Phar::convertToExecutable():
<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// конвертировать архив в формат phar
// обратите внимание, что myphar.phar.tar *не* будет удалён
$phar = $tarphar->convertToExecutable(Phar::PHAR); // будет создан myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// будет создан myphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// обработка ошибок
}
?>