Phar ist eine Erweiterungsbibliothek für PHP. Sie kann das gesamte PHP-Projekt in eine ausführbare Datei packen, sodass das Projekt problemlos in verschiedenen Umgebungen ausgeführt werden kann, ohne dass PHP und zugehörige abhängige Bibliotheken installiert werden müssen. Gleichzeitig kann diese ausführbare Datei auch verschlüsselt werden, um die Sicherheit des Projekts zu schützen.
In diesem Artikel erfahren Sie, wie Sie Phar zum Verpacken von PHP-Projekten verwenden.
Um die Phar-Erweiterungsbibliothek verwenden zu können, müssen Sie zunächst die Phar-Erweiterung in PHP installieren. In einer Linux-Umgebung können Sie den folgenden Befehl zur Installation verwenden:
sudo apt-get install php-phar
In einer Windows-Umgebung können Sie die Phar-Erweiterung in der php.ini-Datei aktivieren und das Semikolon vor der folgenden Anweisung entfernen:
;extension=php_phar.dll
Phar Es wird ein Paketierungstool phar bereitgestellt, mit dem das gesamte Projekt in eine .phar-Datei gepackt werden kann.
Geben Sie den folgenden Befehl in das Terminal ein:
php phar -c gz -f myapp.phar /path/to/myapp
Darunter bedeutet -c gz die Verwendung des gzip-Komprimierungsalgorithmus, -f myapp.phar bedeutet, dass der Name der Ausgabedatei myapp.phar ist, /path/to/myapp bedeutet das Projekt Pfad, der verpackt werden soll.
Nachdem die Verpackung abgeschlossen ist, können Sie den folgenden Befehl im Terminal ausführen, um die .phar-Datei auszuführen:
php myapp.phar
Sie können die API von Phar verwenden, um die .phar-Datei zu verschlüsseln und den Projektcode zu schützen vor Dekompilierung oder Manipulation.
Zum Beispiel können Sie die Methode Phar::createDefaultStub() verwenden, um ein Standardausführungsskript zu generieren, und openssl verwenden, um dieses Skript zu verschlüsseln:
startBuffering(); $phar->buildFromDirectory('/path/to/myapp'); $phar->setStub($phar->createDefaultStub('index.php')); $key = 'mysecretkey'; $iv = substr(md5($key), 0, 16); $phar->setSignatureAlgorithm(Phar::SHA256); $phar->stopBuffering(); $phar->setMetadata(['encryption_key' => $key]); $content = file_get_contents('phar://myapp.phar/index.php'); $encrypted = openssl_encrypt($content, 'AES-256-CBC', $key, null, $iv); $phar->setStub("$encrypted");
Im obigen Code ist $key der Verschlüsselungsschlüssel und $iv der Anfangsvektor. Fügen Sie nach der Verschlüsselung des Ausführungsskripts das verschlüsselte Ergebnis in den Header der .phar-Datei ein. Zu diesem Zeitpunkt erfordert die Ausführung der .phar-Datei die Eingabe des Schlüssels, um erfolgreich ausgeführt zu werden.
Wenn Sie die Phar-Datei ändern müssen, können Sie sie mit der PharData-Klasse entpacken.
Zum Beispiel können Sie den folgenden Code verwenden, um die .phar-Datei in das angegebene Verzeichnis zu entpacken:
extractTo('/path/to/extract');
Nachdem das Entpacken abgeschlossen ist, können Sie das Projekt ändern und debuggen.
Zusammenfassung
Phar ist eine sehr praktische PHP-Erweiterungsbibliothek, die das gesamte PHP-Projekt problemlos in eine ausführbare Datei packen und verschlüsseln kann. In der tatsächlichen Projektentwicklung kann Phar verwendet werden, um den Bereitstellungsprozess zu vereinfachen und die Effizienz und Sicherheit des Projektbetriebs zu verbessern.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Phar zum Verpacken von Projekten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!