PharData::convertToExecutable
En esta página
PharData::convertToExecutable
Convierte un archivo tar/zip no ejecutable en un archivo phar ejecutable
Descripción#
public PharData::convertToExecutable([int $format], [int $compression], [string $extension]): Phar
```php
> [!NOTE]
> Este método requiere que la variable de configuración INI `phar.readonly` esté definida a `0` para funcionar con los objetos `Phar` . De lo contrario, se lanzará una excepción `PharException`.
Este método se utiliza para convertir un archivo tar o zip no ejecutable en un archivo phar ejecutable. Cualquiera de los tres formatos de archivo (phar, tar o zip) puede ser utilizado y la compresión del archivo completo también es posible.
Si no se solicita ningún cambio, este método lanza una excepción `BadMethodCallException`.
En caso de éxito, este método crea un nuevo archivo en el disco y devuelve un objeto `Phar`. El archivo antiguo no se borra del disco, lo cual debe hacerse manualmente una vez finalizado el procesamiento.
## Parámetros
`format`
El formato debe ser `Phar::PHAR`, `Phar::TAR` o `Phar::ZIP`. Si es `null`, se conservará el formato de archivo actual.
`compression`
La compresión debe ser `Phar::NONE` para evitar la compresión del archivo completo, `Phar::GZ` para la compresión basada en zlib, y `Phar::BZ2` para la compresión basada en bzip.
`extension`
Este parámetro se utiliza para sobrescribir la extensión de archivo por defecto del archivo convertido. Tenga en cuenta que todos los archivos basados en tar y zip deben contener `.phar` en su extensión de archivo para poder ser tratados como archivos phar.
En caso de conversión a un archivo basado en phar, las extensiones por defecto son `.phar`, `.phar.gz` o `.phar.bz2` según la compresión especificada. Para los archivos phar basados en tar, las extensiones por defecto son `.phar.tar`, `.phar.tar.gz` y `.phar.tar.bz2`. Para los archivos phar basados en zip, la extensión por defecto es `.phar.zip`.
## Valores devueltos
Este método devuelve un objeto `Phar` en caso de éxito, o `null` en caso de fallo
## Errores/Excepciones
Este método lanza una excepción `BadMethodCallException` cuando no puede comprimir, cuando se ha especificado un método de compresión desconocido, cuando el archivo solicitado está en búfer con `Phar::startBuffering` y no se ha concluido con `Phar::stopBuffering`, lanza una excepción `UnexpectedValueException` si el soporte de escritura está desactivado, y lanza una excepción `PharException` si se han encontrado problemas durante la creación del phar.
## Historial de cambios
| Versión | Descripción |
|---------|------------------------------------------------------------|
| 8.0.0 | `format`, `compression`, y `localName` ahora son nullable. |
## Ejemplos
Un ejemplo con `PharData::convertToExecutable`
Utilizando PharData::convertToExecutable() :
```php
Véase también#
Phar::convertToExecutable, Phar::convertToData, PharData::convertToData