Ekstraksi File PHAR (PHP Archive)

Pagi ini saya hendak menginstall dan mencoba PHPUnit, framework untuk mengetest kode PHP yang kita buat ketika masa development. Ada 3 cara untuk menginstall PHPUnit, pertama menggunakan PEAR, kedua dengan menggunakan composer, dan ketiga adalah menggunakan format PHAR.

Saya rasa saya dulu pernah menggunakan metode PEAR, tinggal jalankan beberapa baris perintah, maka semua file akan terdownload secara otomatis. Namun entah mengapa ketika saya mencoba PHPUnit dengan Pear, instalasinya berlangsung agak lama, jadi saya skip dan saya langsung mencoba cara lain. Saya lebih memilih mendownload format PHAR daripada menggunakan composer. Hal ini saya lakukan karena saya sendiri belum menginstall Composer itu sendiri dan saya belum pernah mencobanya 🙂

Format PHAR ternyata adalah text biasa dengan potongan kode-kode PHP yang ditulis dalam 1 file. Ini dilakukan agar semua paket berada dalam 1 file saja. Masalahnya adalah bagaimana mengekstrak paket Phar ini agar kembali seperti paket biasa, baik itu dalam format php ataupun direktori-direktori yang ada dalam file phar tersebut.

Dari beberapa sumber di internet, ternyata ada konverter online untuk mengubah format .phar menjadi format .zip atau .tar (http://unphar.com/). Namun jika tidak ada koneksi internet, maka konversi harus dilakukan secara offline. Konversi offline sebenarnya bisa dilakukan dengan membuat skrip php agar bisa mengekstrak file tersebut, namun karena saya pikir akan memakan waktu agak lama, lebih baik mencari tools yang siap pakai saja. Saya mendapatkan info bahwa kita bisa mengekstrak file phar dengan menggunakan bantuan Empir (http://empir.sourceforge.net/). Empir adalah file php yang bisa mengubah file php menjadi phar atau sebaliknya.

Download file Empir dan ekstrak ke dalam sebuah direktori. Hasil ekstrak akan menghasilkan sebuah file bernama empir. Lalu file dengan format .phar yang akan diekstrak ditempatkan dalam 1 folder dengan file yang Empir yang diekstrak tadi. Kamu harus memastikan bahwa perintah ‘php’ bisa dijalankan melalui terminal atau command-line. Lalu jalankan perintah berikut:

#format perintah
php -dphar.readonly=0 empir extract <phar_file> [extract_path]
 
D:\Empir>php -dphar.readonly=0 empir extract phpunit.phar phpunit

Nanti file akan diekstrak ke dalam direktori yang telah kita tentukan.

One thought on “Ekstraksi File PHAR (PHP Archive)

Leave a Reply

Your email address will not be published. Required fields are marked *