Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Nom | Défaut | Modifiable | Historique |
---|---|---|---|
phar.readonly | "1" | PHP_INI_ALL | |
phar.require_hash | "1" | PHP_INI_ALL | |
phar.extract_list | "" | PHP_INI_ALL | Disponible de phar 1.1.0 à 1.2.3, supprimé en 2.0.0. |
phar.cache_list | "" | PHP_INI_SYSTEM | Disponible à partir de phar 2.0.0. |
Voici un éclaircissement sur l'utilisation des directives de configuration.
phar.readonly
booléen
Cette option désactive la création ou la modification des archives Phar en utilisant le flux phar ou le support en écriture sur les objets Phar. Ce paramètre devrait toujours être activé sur des machines de production, car le support en écriture sur les archives phar pourrait mener à la création de virus basés sur PHP en cas d'utilisation conjuguée avec des vulnérabilités communes.
Note:
Ce paramètre ne peut être désactivé que dans php.ini pour des raisons de sécurité. Si phar.readonly est désactivé dans php.ini, l'utilisateur peut activer phar.readonly dans un script ou le désactiver plus tard. Si phar.readonly est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.
phar.require_hash
booléen
Cette option forcera toutes les archives Phar ouvertes à contenir un type de signature (à ce jour MD5, SHA1, SHA256 et SHA512 sont supportés), et toute archive Phar ne contenant pas de signature sera rejetée.
Note:
Ce paramètre ne peut être désactivé que dans php.ini pour des raisons de sécurité. Si phar.require_hash est désactivé dans php.ini, l'utilisateur peut activer phar.require_hash dans un script ou le désactiver plus tard. Si phar.require_hash est activé dans php.ini, un script pourrait "réactiver" sans danger la variable INI, mais ne pourrait pas la désactiver.
Ce paramètre n'affecte pas la lecture des fichiers tar avec la classe PharData.
phar.extract_list
chaîne de caractères
Ce paramètre INI a été supprimé en phar 2.0.0.
Permet la correspondance entre le chemin complet d'une archive phar ou son alias et l'emplacement de ses fichiers extraits. Le format de ce paramètre est name=archive,name2=archive2. Cela permet l'extraction de fichiers phar sur le disque, et permet à phar d'agir comme une sorte de correspondance vers des fichiers extraits sur disque. C'est souvent utilisé pour des raisons de performance ou pour aider au débogage de phar.
Exemple #1 Exemple d'utilisation de phar.extract_list
dans php.ini: phar.extract_list = archive=/chemin/complet/vers/archive/,arch2=/chemin/complet/vers/arch2 <?php include "phar://archive/content.php"; include "phar://arch2/foo.php"; ?>
phar.cache_list
chaîne de caractères
Ce paramètre INI a été ajouté en phar 2.0.0
Permet aux correspondances d'archives phar d'être traitées au démarrage du serveur web, augmentant de ce fait les performance d'accès aux fichiers contenus dans une archive phar et les rendant très proche d'un accès à des fichiers d'une installation classique sur disque.
Exemple #2 Exemple d'utilisation de phar.cache_list
dans php.ini (windows):
phar.cache_list =C:\chemin\vers\phar1.phar;C:\chemin\vers\phar2.phar
dans php.ini (unix):
phar.cache_list =/chemin/vers/phar1.phar:/chemin/vers/phar2.phar