suchen
HeimBackend-EntwicklungPHP-TutorialBoxen Sie Ihre Apps schnell und einfach mit Box

Dieses Tutorial zeigt die Verpackung einer PHP -Anwendung in einem PHAR mit Box, Vereinfachung der Verteilung und der globalen Installation über den Komponisten. Wir werden Webiny's OrdnerBuilder (ein Tool zum interaktiven Entwerfen von Projektordnerstrukturen) als unser Beispiel verwenden.

Boxing up your Apps as Phars Quickly and Easily with Box

Schlüsselkonzepte:

  • Box optimiert die PHAR -Erstellung für einfache PHP -Anwendungsbereitstellung und Komponistintegration.
  • a box.json Datei definiert PHAR -Inhalte (Dateien, Einstiegspunkt, Ausgabe von Dateinamen usw.). Der Befehl box erstellt den Phar. Durch das Hinzufügen von chmod zu box.json wird die PHAR ausführbar.
  • Komponist bin Feld in composer.json Ermöglicht die PHAR-Verteilung als globales Befehlszeilen-Tool (erfordert Packagisten-Upload).

Projekt -Setup:

Wir werden das PHP -Skript von OrdnerBuilder verwenden, das JSON -Darstellungen von Projektstrukturen generiert. Während sie leicht direkt ausführen können, verbessert die Verpackung als PHAR die Benutzerfreundlichkeit:

composer global require webiny/folderbuilder
folderbuilder . > structure.json

Box -Projekterstellung:

Installieren Sie zuerst das Box:

composer global require kherge/box

Als nächstes klonen und checkout orderBuilder:

cd ~
git clone https://github.com/webiny/folderbuilder
cd folderbuilder
git checkout 74b234fa33bd69690a2c26df38ef7d188c4e69eb

erstellen 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"]
}

Dieses box.json Gibt enthalten enthaltene Dateien, Ausgabedwegen, Stub, Einstiegspunkt, ausführbare Berechtigungen und Kompaktoren für kleinere pHar -Größe an. Lauf:

box build -v

dann umbenennen und testen:

mv bin/wfb.phar bin/wfb
bin/wfb

Verteilung mit Komponist:

einen bin Eintrag zu composer.json:

hinzufügen
"bin": ["bin/wfb"]

Laden Sie das Projekt auf Packagist hoch.

Testen der globalen Installation:

Erstellen Sie eine neue Umgebung (z. B. ein frisches Gehöft verbesserte Instanz) und rennen Sie:

composer global require webiny/folderbuilder
wfb ~/Code > out.json

Dies bestätigt die weltweit installierte PHAR -Funktionalität.

Boxing up your Apps as Phars Quickly and Easily with Box

Schlussfolgerung:

Dieses Tutorial detailliertes Erstellen und Verteilen eines PHP -PHAR mithilfe von Box, Verbesserung der Anwendungsbereitstellung und -Benutzerfreundlichkeit. Weitere Verbesserungen könnten die PHAR-Signier- und Auto-Updat-Mechanismen beinhalten. OrdnerBuilder begrüßt Beiträge, um seine Funktionen zu erweitern.

häufig gestellte Fragen (FAQs) zu Box -Apps und Phars: (Dieser Abschnitt bleibt dem Eingang weitgehend unverändert, da es sich um einen hilfreichen und relevanten FAQ -Abschnitt handelt.)

Was ist der Hauptzweck für die Verwendung von PHAR in PHP?

PHAR- oder PHP -Archive packen alle PHP -Anwendungen in eine einzelne Datei für eine einfache Verteilung und Installation ein. Sie sind analog zu den JAR -Dateien von Java und vereinfachen die Bereitstellung, indem Sie alle erforderlichen Komponenten konsolidieren.

Wie erstelle ich eine Phar -Datei?

Die Phar -Klasse in PHP ermöglicht die Erstellung von Pharen. Sie instanziieren die Klasse, fügen Dateien mit addFile hinzu und speichern mit stopBuffering. Ein Stub (ein kleines Skript, das in der PHAR -Ausführung ausgeführt wird) kann ebenfalls festgelegt werden.

Was sind die Vorteile der Verwendung von Box-Apps wie Boxproject?

Box -Apps Automatisieren Sie die PHAR -Erstellung und strömen Sie den Verteilungsprozess. Funktionen wie Git und Composer -Integration verbessern die Arbeitsablaufeffizienz weiter.

Wie verwende ich Boxprojekt, um eine Phar-Datei zu erstellen?

Boxprojekt installieren, erstellen Sie eine box.json -Datei-Definieren von Verpackungsanweisungen und verwenden Sie den Befehl box, um das Phar zu generieren. Optionen zur Komprimierung und Stubkonfiguration sind verfügbar.

Kann ich Phars mit Webanwendungen verwenden?

Ja, Phars fungieren als reguläre PHP -Anwendungen, wenn Sie über einen Webserver zugegriffen werden. Stellen Sie jedoch sicher, dass Ihr Webserver für die Ausführung von PHAR -Dateien konfiguriert ist.

Gibt es Sicherheitsbedenken bei der Verwendung von Phars?

Verwenden Sie Phars aus vertrauenswürdigen Quellen und halten Sie sie auf dem neuesten Stand. PHPs phar.readonly und phar.require_hash Einstellungen verbessern die Sicherheit.

Wie aktualisiere ich eine Phar -Datei?

Erstellen Sie einen neuen Phar mit Updates und ersetzen Sie die alte. Dies kann automatisiert oder manuell durchgeführt werden.

Kann ich Phars mit PHP -Frameworks verwenden?

Ja, viele Frameworks unterstützen Phars und ermöglichen es Ihnen, Ihre Anwendung, einschließlich des Frameworks, in eine einzelne Datei zu verpacken.

Was ist der Unterschied zwischen Boxprojekt und Boxprojekt 2?

Box-Project 2 bietet Verbesserungen gegenüber dem Original, einschließlich Komponistenunterstützung, besserer Fehlerbehebung und Leistungsverbesserungen.

Wie kann ich Probleme mit PHARS beheben?

Überprüfen Sie das PHP -Fehlerprotokoll, testen Sie auf verschiedenen Systemen und überprüfen Sie die korrekte PHP -Konfiguration. Fragen zur Dateiberechtigungen sind ebenfalls häufig.

Das obige ist der detaillierte Inhalt vonBoxen Sie Ihre Apps schnell und einfach mit Box. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Was ist der Unterschied zwischen absoluten und müßigen Sitzungszeitüberschreitungen?Was ist der Unterschied zwischen absoluten und müßigen Sitzungszeitüberschreitungen?May 03, 2025 am 12:21 AM

Die Absolute -Sitzungs -Zeitlimit startet zum Zeitpunkt der Erstellung der Sitzung, während eine Zeitlimit in der Leerlaufsitzung zum Zeitpunkt der No -Operation des Benutzers beginnt. Das Absolute -Sitzungs -Zeitlimit ist für Szenarien geeignet, in denen eine strenge Kontrolle des Sitzungslebenszyklus erforderlich ist, z. B. finanzielle Anwendungen. Das Timeout der Leerlaufsitzung eignet sich für Anwendungen, die die Benutzer für lange Zeit aktiv halten, z. B. soziale Medien.

Welche Schritte würden Sie unternehmen, wenn Sitzungen nicht auf Ihrem Server funktionieren?Welche Schritte würden Sie unternehmen, wenn Sitzungen nicht auf Ihrem Server funktionieren?May 03, 2025 am 12:19 AM

Der Serversitzungsausfall kann durch Befolgen der Schritte gelöst werden: 1. Überprüfen Sie die Serverkonfiguration, um sicherzustellen, dass die Sitzung korrekt festgelegt wird. 2. Überprüfen Sie die Client -Cookies, bestätigen Sie, dass der Browser es unterstützt und korrekt senden. 3. Überprüfen Sie die Speicherdienste wie Redis, um sicherzustellen, dass sie normal arbeiten. 4. Überprüfen Sie den Anwendungscode, um die korrekte Sitzungslogik sicherzustellen. Durch diese Schritte können Konversationsprobleme effektiv diagnostiziert und repariert werden und die Benutzererfahrung verbessert werden.

Welche Bedeutung hat die Funktion Session_start ()?Welche Bedeutung hat die Funktion Session_start ()?May 03, 2025 am 12:18 AM

Session_Start () iscrucialinphPFormAnagingUSSERSIONS.1) ItinitiatesanewSessionifnoneExists, 2) Wiederaufnahmen und 3) setaSessionCookieforContinuityAcrossRequests, aktivierende Anwendungen wie

Was ist für die Festlegung der HTTPonly -Flag für Sitzungs Cookies wichtig?Was ist für die Festlegung der HTTPonly -Flag für Sitzungs Cookies wichtig?May 03, 2025 am 12:10 AM

Das Festlegen des HTTPonly -Flags ist für Sitzungscookies von entscheidender Bedeutung, da es effektiv verhindern und die Informationen zur Benutzersitzung schützen kann. Insbesondere 1) Das Httponly -Flag verhindert, dass JavaScript auf Cookies zugreift, 2) Das Flag kann durch SetCookies eingestellt werden und in PHP und Flasche 3), obwohl es nicht von allen Angriffen von allen Angriffen verhindert werden kann, Teil der Gesamtsicherheitsrichtlinie sein sollte.

Welches Problem lösen PHP -Sitzungen in der Webentwicklung?Welches Problem lösen PHP -Sitzungen in der Webentwicklung?May 03, 2025 am 12:02 AM

PhpSsionSsionSolvetheProblemofMaintainingStateAcrossmultipehttprequestsBoringDataontheserverandassociatingitittprequests.1) Sie starteten die Stundeataserver-Seite, typischerweise infileSordatabasen, undusaSasionIdinacookookookotenData

Welche Daten können in einer PHP -Sitzung gespeichert werden?Welche Daten können in einer PHP -Sitzung gespeichert werden?May 02, 2025 am 12:17 AM

PHPSSIONS CANSTORESTRINGEN, ZUGNALTEN, ARRAYS, ANDOBjekte.1.

Wie starten Sie eine PHP -Sitzung?Wie starten Sie eine PHP -Sitzung?May 02, 2025 am 12:16 AM

TostartaphpSession, useSession_start () atthescript'Sbeginning.1) PlaCEITBEFOREANYOUTPUTTOTHESESSIONSCOOKIE.2) useSsionsforuserDatalikeloginStatusOrShopingCarts

Was ist eine Sitzungsregeneration und wie verbessert es die Sicherheit?Was ist eine Sitzungsregeneration und wie verbessert es die Sicherheit?May 02, 2025 am 12:15 AM

Die Sitzung der Sitzung bezieht sich auf die Generierung einer neuen Sitzungs -ID und die Ungültigmachung der alten ID, wenn der Benutzer sensible Vorgänge bei festgelegten Sitzungsangriffen ausführt. Die Implementierungsschritte umfassen: 1. Erkennen sensibler Vorgänge, 2. Erstellen neuer Sitzungs-ID, 3..

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools