Comment utiliser Phar pour packager des projets en PHP

WBOY
Libérer: 2023-06-27 17:46:01
original
1927 Les gens l'ont consulté

Phar est une bibliothèque d'extensions pour PHP. Elle peut regrouper l'intégralité du projet PHP dans un fichier exécutable, afin que le projet puisse être facilement exécuté dans différents environnements sans avoir besoin d'installer PHP et les bibliothèques dépendantes associées. Parallèlement, ce fichier exécutable peut également être crypté pour protéger la sécurité du projet.

Cet article expliquera comment utiliser Phar pour empaqueter des projets PHP.

  1. Installer la bibliothèque d'extensions Phar

Pour utiliser la bibliothèque d'extensions Phar, vous devez d'abord installer l'extension Phar en PHP. Dans un environnement Linux, vous pouvez utiliser la commande suivante pour installer :

sudo apt-get install php-phar
Copier après la connexion

Dans un environnement Windows, vous pouvez activer l'extension Phar dans le fichier php.ini et supprimer le point-virgule avant l'instruction suivante :

;extension=php_phar.dll
Copier après la connexion
  1. Emballer le projet

Phar Un outil de packaging phar est fourni, qui peut regrouper l'intégralité du projet dans un fichier .phar.

Entrez la commande suivante dans le terminal :

php phar -c gz -f myapp.phar /path/to/myapp
Copier après la connexion

Parmi elles, -c gz signifie utiliser l'algorithme de compression gzip, -f myapp.phar signifie que le nom du fichier de sortie est myapp.phar, /path/to/myapp signifie le projet chemin à empaqueter.

Une fois l'empaquetage terminé, vous pouvez exécuter la commande suivante dans le terminal pour exécuter le fichier .phar :

php myapp.phar
Copier après la connexion
  1. Cryptage du fichier Phar

Vous pouvez utiliser l'API de Phar pour crypter le fichier .phar afin de protéger le code du projet d'être décompilé ou falsifié.

Par exemple, vous pouvez utiliser la méthode Phar::createDefaultStub() pour générer un script d'exécution par défaut, et utiliser openssl pour chiffrer ce script :

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");
Copier après la connexion

Dans le code ci-dessus, $key est la clé de chiffrement et $iv est la vecteur initial. Après avoir chiffré le script d'exécution, insérez le résultat chiffré dans l'en-tête du fichier .phar. À l’heure actuelle, l’exécution du fichier .phar nécessite la saisie de la clé pour s’exécuter correctement.

  1. Décompresser le fichier Phar

Si vous devez modifier le fichier Phar, vous pouvez utiliser la classe PharData pour le décompresser.

Par exemple, vous pouvez utiliser le code suivant pour décompresser le fichier .phar dans le répertoire spécifié :

extractTo('/path/to/extract');
Copier après la connexion

Une fois le déballage terminé, vous pouvez modifier et déboguer le projet.

Résumé

Phar est une bibliothèque d'extensions PHP très pratique qui peut facilement regrouper l'intégralité du projet PHP dans un fichier exécutable et le chiffrer. Dans le développement réel d'un projet, Phar peut être utilisé pour simplifier le processus de déploiement et améliorer l'efficacité et la sécurité du fonctionnement du projet.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!