PharData::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::convertToExecutable β€” ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ tar/zip-Π°Ρ€Ρ…ΠΈΠ²Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² запускаСмый phar-Π°Ρ€Ρ…ΠΈΠ²

ОписаниС

public function PharData::convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Phar потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ phar.readonly Π² Ρ„Π°ΠΉΠ»Π΅ php.ini Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PharException.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ нСзапускаСмого tar/zip-Π°Ρ€Ρ…ΠΈΠ²Π° Π° запускаСмый phar-Π°Ρ€Ρ…ΠΈΠ². ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован любой ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… запускаСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² (phar, tar ΠΈΠ»ΠΈ zip). Π’Π°ΠΊΠΆΠ΅ допустимо сТатиС Π°Ρ€Ρ…ΠΈΠ²Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Если измСнСния Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ бросаСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ BadMethodCallException.

Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ создаёт Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ² Π½Π° дискС ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Phar. Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ Π°Ρ€Ρ…ΠΈΠ² остаётся Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹ΠΌ.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

format

Одна ΠΈΠ· констант: Phar::PHAR, Phar::TAR, ΠΈΠ»ΠΈ Phar::ZIP. Если Π·Π°Π΄Π°Π½ΠΎ null, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сохранён Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

compression

Одна ΠΈΠ· констант: Phar::NONE (Π±Π΅Π· сТатия всСго Π°Ρ€Ρ…ΠΈΠ²Π°), Phar::GZ (zlib сТатиС), Phar::BZ2 (bzip сТатиС).

extension

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для явного задания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π°. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ phar-Π°Ρ€Ρ…ΠΈΠ², Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π² своём Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ .phar.

ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π² phar-Π°Ρ€Ρ…ΠΈΠ²Π°, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ .phar, .phar.gz ΠΈΠ»ΠΈ .phar.bz2, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° сТатия. Для tar-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ .phar.tar, .phar.tar.gz, ΠΈ .phar.tar.bz2. Для zip-Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ .phar.zip.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Phar ΠΈ null Π² случаС возникновСния ошибки.

Ошибки

ΠœΠ΅Ρ‚ΠΎΠ΄ выбрасываСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ BadMethodCallException Ссли Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ произвСсти сТатиС, Π»ΠΈΠ±ΠΎ Ссли Π·Π°Π΄Π°Π½ нСизвСстный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сТатия, для Π°Ρ€Ρ…ΠΈΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° буфСризация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Phar::startBuffering(), Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ Phar::stopBuffering() Π½Π΅ вызывался. ВыбрасываСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ UnexpectedValueException, Ссли запись Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π°. И выбрасываСтся PharException, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ записи Π½Π° диск.

Бписок измСнСний

ВСрсия ОписаниС
8.0.0 format, compression ΠΈ localName Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования PharData::convertToExecutable()

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ PharData::convertToExecutable():

<?php
try {
$tarphar = new PharData('myphar.tar');
// ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ phar
// ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ myphar.tar *Π½Π΅* удаляСтся
$phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// создаём myphar.phar.tgz
$compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (
Exception $e) {
// ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок
}
?>

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • Phar::convertToExecutable() - ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ phar-Π°Ρ€Ρ…ΠΈΠ² Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ исполняСмый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°
  • Phar::convertToData() - ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ phar-Π°Ρ€Ρ…ΠΈΠ² Π² нСисполняСмый tar- ΠΈΠ»ΠΈ zip-Ρ„Π°ΠΉΠ»
  • PharData::convertToData() - ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ phar-Π°Ρ€Ρ…ΠΈΠ²Π° Π² нСзапускаСмый tar/zip-Π°Ρ€Ρ…ΠΈΠ²
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы