Maison > développement back-end > tutoriel php > Le package Phar de PHP s'avère si puissant

Le package Phar de PHP s'avère si puissant

藏色散人
Libérer: 2023-04-07 20:28:01
avant
2904 Les gens l'ont consulté

J'ai vu des gens dire dans le groupe que certains frameworks Swoole sont lents à démarrer, surtout lorsqu'ils sont exécutés sur un disque dur réseau monté.

Je pense que parce que Swoole peut faire résider les applications PHP en mémoire, de nombreux fichiers doivent être analysés et chargés au démarrage. Cela devrait être la cause de la vitesse de démarrage lente.

En pensant à php et au package phar, j'ai essayé d'utiliser phar pour résoudre ce problème. Le travail acharné a porté ses fruits et j'ai finalement implémenté la compatibilité du packaging Phar et la prise en charge du framework imi. Les résultats des tests montrent :

Utilisez Phar pour énumérer, lire et inclure des fichiers, que ce soit sur un disque dur local ou sur. un réseau tel que Samba Les performances de montage du partage de fichiers sont supérieures à celles des fichiers dispersés.

phar est puissant et peut être utilisé pour déployer des projets directement avec un package. Cependant, dans le développement d'applications PHP traditionnelles, phar n'est en fait pas populaire car il ne présente pas de nombreux avantages. Dans l'environnement Swoole, de plus en plus de frameworks prennent en charge la mémoire résidente, qui permet de charger les fichiers que vous souhaitez utiliser au démarrage.

phar dispose d'un support intégré depuis PHP 5.3.0, vous n'avez donc pas besoin de vous soucier de la compatibilité ou d'installer des extensions supplémentaires.

J'ai spécialement écrit une démo pour tester les performances d'énumération et de lecture des fichiers Phar et inclure :

https://gitee.com/yurunsoft/PharTest
Copier après la connexion

Les amis intéressés peuvent la télécharger et l'exécuter vous-même.

Pour activer la fonction de packaging de fichiers Phar, vous devez d'abord configurer phar.readonly = Off dans php.ini

Le code de packaging Phar est principalement le suivant :

<?php
$fileName = __DIR__ . &#39;/test/test.phar&#39;;
if(is_file($fileName))
{
    unlink($fileName);
}
$phar = new Phar($fileName);
$phar->stopBuffering();
$phar->buildFromDirectory(__DIR__ . &#39;/src&#39;);
Copier après la connexion

Le la situation réelle de l'application est complexe, vous pouvez vous référer à la documentation officielle PHP et apporter de légères modifications en fonction de la situation réelle.

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:
php
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal