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.
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 Befehlbox
erstellt den Phar. Durch das Hinzufügen vonchmod
zubox.json
wird die PHAR ausführbar. - Komponist
bin
Feld incomposer.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
:
"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.
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!

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.

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.

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

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.

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

PHPSSIONS CANSTORESTRINGEN, ZUGNALTEN, ARRAYS, ANDOBjekte.1.

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

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..


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

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
Chinesische Version, sehr einfach zu bedienen

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Dreamweaver Mac
Visuelle Webentwicklungstools
