


Enfiler vos applications en tant que phars rapidement et facilement avec la boîte
Feb 17, 2025 am 11:22 AMCe didacticiel démontre l'emballage d'une application PHP dans un phar à l'aide d'une boîte, simplifiant la distribution et l'installation globale via le compositeur. Nous utiliserons FolderBuilder de Webiny (un outil pour concevoir interactivement les structures de dossiers de projet) comme notre exemple.
Concepts clés:
- La boîte rationalise la création de Phar pour un déploiement d'applications PHP facile et l'intégration des compositeurs.
- A
box.json
Le fichier définit le contenu du phar (fichiers, point d'entrée, nom de fichier de sortie, etc.). La commandebox
construit le phar. L'ajoutchmod
àbox.json
rend l'exécutable phar. - Le champ
bin
du composer danscomposer.json
permet la distribution de Phar en tant qu'outil de ligne de commande globale (nécessite un téléchargement de packagist).
Configuration du projet:
Nous utiliserons le script PHP de FolderBuilder, qui génère des représentations JSON des structures de projet. Bien qu'il soit facilement exécuté directement, l'emballage en tant que phar améliore la convivialité:
composer global require webiny/folderbuilder folderbuilder . > structure.json
Création du projet de boîte:
Tout d'abord, Installer Box:
composer global require kherge/box
Suivant, CLONE et CHECKOUT FOLDERDERBUILDER:
cd ~ git clone https://github.com/webiny/folderbuilder cd folderbuilder git checkout 74b234fa33bd69690a2c26df38ef7d188c4e69eb
Créer box.json
:
{ "files": ["structure.php", "bin/stub.php"], "output": "bin/wfb.phar", "stub": true, "main": "bin/stub.php", "chmod": "0755", "compactors": ["Herrera\Box\Compactor\Json", "Herrera\Box\Compactor\Php"] }
Ce box.json
Spécifie les fichiers inclus, le chemin de sortie, le stub, le point d'entrée, les autorisations exécutables et les compacteurs pour une taille de phar plus petite. Run:
box build -v
Ensuite, renommer et tester:
mv bin/wfb.phar bin/wfb bin/wfb
Distribution avec compositeur:
Ajouter une entrée bin
à composer.json
:
"bin": ["bin/wfb"]
Téléchargez le projet vers Packagist.
Test de l'installation globale:
Créez un nouvel environnement (par exemple, une instance de propriété familiale fraîche) et exécutez:
composer global require webiny/folderbuilder wfb ~/Code > out.json
Cela confirme la fonctionnalité du phar installé à l'échelle mondiale.
Conclusion:
Ce didacticiel a détaillé la création et la distribution d'un phar PHP à l'aide de la boîte, améliorant le déploiement des applications et la convivialité. D'autres améliorations pourraient impliquer des mécanismes de signature du phar et de mise à jour automatique. FolderBuilder accueille les contributions pour élargir ses fonctionnalités.
Questions fréquemment posées (FAQ) sur les applications de boxe et les phars: (Cette section reste largement inchangée de l'entrée, car il s'agit d'une section FAQ utile et pertinente.)
Quel est le but principal de l'utilisation de phars en php?
phars, ou archives PHP, emballent des applications PHP entières dans un seul fichier pour une distribution et une installation faciles. Ils sont analogues aux fichiers de pot de Java, simplifiant le déploiement en consolidant tous les composants nécessaires.
comment créer un fichier phar?
La classe Phar
dans PHP facilite la création de Phar. Vous instanciez la classe, ajoutez des fichiers à l'aide de addFile
et enregistrez en utilisant stopBuffering
. Un talon (un petit script exécuté sur l'exécution de Phar) peut également être défini.
Quels sont les avantages de l'utilisation d'applications de boxe comme Box-Project?
Les applications de boxe automatisent la création de Phar, rationalisant le processus de distribution. Des fonctionnalités telles que l'intégration GIT et le compositeur améliorent encore l'efficacité du flux de travail.
Comment utiliser Box-Project pour créer un fichier Phar?
Installez Box-Project, créez un box.json
Fichier Définition des instructions d'emballage et utilisez la commande box
pour générer le phar. Des options de compression et de configuration de talon sont disponibles.
Puis-je utiliser des phars avec des applications Web?
Oui, les PhAR fonctionnent comme des applications PHP régulières lorsqu'ils sont accessibles via un serveur Web. Cependant, assurez-vous que votre serveur Web est configuré pour exécuter des fichiers Phar.
y a-t-il des problèmes de sécurité concernant l'utilisation des phars?
Utilisez des phars à partir de sources de confiance et gardez-les à jour. Les paramètres de PHP phar.readonly
et phar.require_hash
améliorent la sécurité.
Comment mettre à jour un fichier phar?
Créez un nouveau phar avec les mises à jour et remplacez l'ancien. Cela peut être automatisé ou fait manuellement.
Puis-je utiliser des phars avec des frameworks PHP?
Oui, de nombreux frameworks prennent en charge les phars, vous permettant d'emballer votre application, y compris le framework, en un seul fichier.
Quelle est la différence entre Box-Project et Box-Project 2?
Box-Project 2 offre des améliorations par rapport à l'original, y compris la prise en charge des compositeurs, une meilleure gestion des erreurs et des améliorations de performances.
Comment résoudre les problèmes avec les phars?
Vérifiez le journal d'erreur PHP, testez sur différents systèmes et vérifiez la configuration PHP correcte. Les problèmes d'autorisations de fichiers sont également courants.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

11 meilleurs scripts de raccourcissement d'URL PHP (gratuit et premium)

Travailler avec les données de session Flash dans Laravel

6 compétences supplémentaires que chaque développeur PHP devrait avoir

Misque de réponse HTTP simplifié dans les tests Laravel

Construisez une application React avec un Laravel Back End: Partie 2, React

12 meilleurs scripts de chat PHP sur Codecanyon

Curl dans PHP: Comment utiliser l'extension PHP Curl dans les API REST
