Convert to executable and compress methods override any stub you have created with their own stub which is responsible for extracting/executing self's content.
calling setStub() after convertingToExecutable doesn't help either. As far of php 5.3.6 (phar 2.0.1 ) if you want to have a phar archive accessible threw the web, you'll have to create your own
index.php which will include a nonexecutable phar and act as the bootstrap.Phar::convertToExecutable
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Phar::convertToExecutable
Референца за `phar.converttoexecutable.php` со подобрена типографија и навигација.
Phar::convertToExecutable
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToExecutable — Конвертирај Phar архива во друга извршна Phar архива
= NULL
$format = null, ?int $compression = null, ?string $extension = null): ?за да работи заЗабелешка: Се користи за поставување на PHP лоадерот или bootstrap stub на Phar архивата на стандарден лоадер php.ini setting
phar.readonlyОвој метод бара0да биде поставено на за да работи за Phar PharException ќе биде фрлена.
Овој метод се користи за конвертирање на Phar архива во друг формат на датотека. На пример, може да се користи за креирање на извршна Phar архива базирана на tar од извршна Phar архива базирана на zip, или од извршна Phar архива во формат на Phar датотека. Дополнително, може да се користи за примена на компресија на целата архива на tar или Phar базирана архива.
Ако не се специфицирани промени, овој метод фрла BadMethodCallException.
Ако е успешно, методот создава нова архива на дискот и враќа за да работи за објект. Старата архива не се отстранува од дискот и треба да се направи рачно откако ќе заврши процесот.
Параметри
format-
Ова треба да биде едно од
Phar::PHAR,Phar::TAR, илиPhar::ZIP. Ако е поставено наnull, постоечкиот формат на датотеката ќе биде зачуван. compression-
Ова треба да биде едно од
Phar::NONEза компресија без цела архива,Phar::GZза компресија базирана на zlib, иPhar::BZ2за компресија базирана на bzip. extension-
Овој параметар се користи за да се поништи стандардната екстензија на датотеката за конвертирана архива. Забележете дека сите Phar архиви базирани на zip и tar мора да содржат
.pharво нивната екстензија на датотеката за да бидат обработени како Phar архива.Ако конвертирате во Phar базирана архива, стандардните екстензии се
.phar,.phar.gz, или.phar.bz2во зависност од наведената компресија. За Phar архиви базирани на tar, стандардните екстензии се.phar.tar,.phar.tar.gzПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во.phar.tar.bz2. За Phar архиви базирани на zip, стандардната екстензија е.phar.zip.
Вратени вредности
Методот враќа за да работи за објект при успех, или null при неуспех.
Errors/Exceptions
Овој метод фрла BadMethodCallException кога не може да се компресира, е специфициран непознат метод за компресија, бараната архива се баферира со Иако технички непотребен, и не завршил со Меѓутоа, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично на тоа, често е потребно да се направат низа промени и да се осигура дека сите се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. , еден UnexpectedValueException ако поддршката за запишување е оневозможена, и PharException ако се појават какви било проблеми за време на процесот на креирање на phar.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
format, compressionПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во extension се сега null.
|
Примери
ако е овозможен колекторот за отпадоци, се фрла ако параметарот е непознат спецификатор на формат на датотека. example
Користење на Phar::convertToExecutable():
<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// convert it to the phar file format
// note that myphar.phar.tar is *not* unlinked
$phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// creates myphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// handle the error here
}
?>Види Исто така
- Phar::convertToExecutable() - Конвертирај phar архива во не-извршна tar или zip датотека
- PharData::convertToData() - Компресира сите датотеки во тековната tar/zip архива
- (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) - Конвертирај phar архива во не-извршна tar или zip датотека