PHPacker дозволяє вам створювати пакети для будь-якого PHP-скрипта чи PHAR у вигляді незалежних крос-платформних виконуваних файлів. Він спрощує процес об'єднання PHP з вашим додатком, роблячи його розповсюдження легким та безтурботним.
Щоб створити розповсюджувані версії з PHPacker, спочатку потрібно встановити CLI глобально або як залежність проекту за допомогою Composer. Після установки phpacker
CLI ви можете створювати версії для Mac, Windows та Linux, використовуючи команду build:
# Створити для конкретної платформи та архітектури
phpacker build mac arm --src=./app.phar
# Створити для всіх підтримуваних платформ
phpacker build all --src=./app.phar
# Створити з кастомним каталогом виводу
phpacker build --src=./app.phar --dest=./custom-build-path
# Створити з конкретним файлом конфігурації PHP
phpacker build --src=./app.phar --ini=./custom-php.ini
# Запитати INI визначення інтерактивно
phpacker build --src=./app.phar --ini
# Створити з конкретною версією PHP
phpacker build --src=./app.phar --php=8.3
PHPacker підтримує версії PHP 8.2–8.4 на Windows (x64), macOS (arm64/x64) та Linux (arm64, x64). Частиною створення самостійного виконуваного файлу є надання попередньо скомпільованих PHP-бінарників для платформи. Оскільки PHP заздалегідь скомпільовано, він включає найнеобхідніші розширення для запуску CLI-додатків (деталі розширень тут).
Окрім параметрів CLI, ви можете налаштувати свій CLI за допомогою файлу phpacker.json
та вказати шлях до кастомних INI налаштувань:
{
"src": "./bin/app.phar",
"dest": "./build",
"ini": "./phpacker.ini",
"platform": "all",
"php": "8.4",
"repository": "optional/custom-php-bin-repo"
}
Ось швидкий приклад створення CLI з використанням PHPacker, який виводить Hello, World!
. Після створення проекту Composer потрібно додати phpacker
:
composer require phpacker/phpacker --dev
Далі створіть файл index.php
у проекті з наступним кодом для демонстрації передачі аргументу:
<?php
$name = $argv[1] ?? 'World';
echo "Hello, {$name}!", "\n";
В реальному проекті ви, ймовірно, використаєте Symfony Console, Laravel Zero або MiniCLI, які вимагають використовувати архів .phar
для створення з PHPacker, але однокомпонентний скрипт ідеально підходить для ознайомлення з PHPacker.
Скористайтеся командою для ручного створення:
$ phpacker build mac arm --src=./index.php
Ви працюєте з останньою версією: phpacker/php-bin:0.2.4
mac - arm ·············································· ✅
Після цього ви можете запустити свій CLI. Залежно від платформи та архітектури, ви знайдете його в каталозі build/
. Я на macOS ARM, тому можу запустити свій CLI таким чином:
$ build/mac/mac-arm
Hello, World!
$ build/mac/mac-arm Paul
Hello, Paul!
Рекомендую розпочати знайомство з PHPacker, ознайомившись з документацією з установки. Після установки в документації є варіанти конфігурації та інші деталі про PHP-бінарники. Обов'язково прочитайте поради щодо додатків — при створенні самостійних виконуваних файлів важливо розуміти обмеження та інші патерни використання, такі як доступ до змінних середовища та файлової системи.
Ви можете переглядати вихідний код PHPacker на GitHub за адресою phpacker/phpacker.