Dans PHP, la fonction realPath () est utilisée pour analyser un chemin de fichier donné et renvoyer le chemin absolu de ce chemin. Lorsque RealPath () est appelé plusieurs fois, PHP mettra en cache le chemin de fichier analysé par défaut pour éviter les calculs répétés à chaque fois, améliorant ainsi les performances. realpath_cache_size est utilisé pour contrôler la taille de ce cache.
Lorsque le cache pour la résolution du chemin du fichier est rempli, PHP efface le cache et recalcule le chemin du fichier. Si le chemin du fichier est appelé très fréquemment, l'augmentation de la taille du cache de manière appropriée peut réduire la fréquence du cache vider, réduisant ainsi le nombre d'opérations de système de fichiers et améliorant les performances globales de l'application.
Pour configurer RealPath_Cache_Size , vous pouvez le définir dans le fichier de configuration PHP.ini de PHP. Par défaut, la valeur de realpath_cache_size est 16KB, ce qui est suffisant pour la plupart des applications. Cependant, dans certaines applications qui nécessitent l'analyse fréquente des chemins de fichier, l'augmentation de la taille du cache peut considérablement améliorer les performances.
Définissez RealPath_Cache_Size dans le fichier php.ini , par exemple:
<span><span><span class="hljs-attr">realpath_cache_size</span></span><span> = </span><span><span class="hljs-number">64</span></span><span>k
</span></span>
Cela définira la taille du cache sur 64 Ko. Si vous avez besoin d'un cache plus grand, vous pouvez le définir à une valeur plus élevée, telle que:
<span><span><span class="hljs-attr">realpath_cache_size</span></span><span> = </span><span><span class="hljs-number">128</span></span><span>k
</span></span>
Si vous n'êtes pas sûr de la valeur actuelle realPath_cache_size , vous pouvez le visualiser via la fonction phpinfo () ou ini_get () . Par exemple:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">ini_get</span></span><span>(</span><span><span class="hljs-string">'realpath_cache_size'</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Cela renverra la taille du cache actuellement configurée.
En plus de realpath_cache_size , realpath_cache_ttl est également une configuration importante liée au cache de chemin de fichier. realpath_cache_ttl définit le temps valide des données de chemin dans le cache, en secondes. Par défaut, le TTL est de 120 secondes, c'est-à-dire que les données de chemin en cache expireront après 120 secondes.
Vous pouvez ajuster la valeur de ce paramètre au besoin. Si votre chemin de fichier change rarement, vous pouvez augmenter le temps de TTL pour conserver les données en cache plus longtemps, réduisant ainsi la fréquence de compensation et de recalcul du cache:
<span><span><span class="hljs-attr">realpath_cache_ttl</span></span><span> = </span><span><span class="hljs-number">3600</span></span><span>
</span></span>
Cela rendra le cache de chemin valide pendant 3600 secondes (c'est-à-dire 1 heure).
L'augmentation de RealPath_Cache_Size n'est pas toujours le meilleur choix, il n'est nécessaire que si:
Résolution de chemin de fichier haute fréquence : si votre application implique une grande partie de la résolution du chemin du fichier (telles que les analyses de systèmes de fichiers, beaucoup d' inclusion et d'exigence d'appels, etc.), l'augmentation de la taille du cache peut améliorer considérablement les performances.
Grandes applications : Pour les grands projets qui contiennent un grand nombre de fichiers ou de répertoires, la configuration de REALPATH_CACHE_SIZE peut réduire rationnellement la surcharge de la résolution du chemin du fichier.
Environnement de charge élevée : dans un environnement de production de charge élevée, l'augmentation de RealPath_Cache_Size peut réduire l'accès au système de fichiers et améliorer la vitesse de réponse.
Lorsque vous augmentez RealPath_Cache_Size , vous devez vous assurer que le serveur a suffisamment de mémoire, car des caches trop importantes prendront plus de mémoire.
Dans certains cas extrêmes, un cache excessif peut rendre la consommation de mémoire de PHP trop élevée, donc les ajustements doivent être effectués en fonction des conditions réelles.
La compensation fréquente du cache peut entraîner des problèmes de performances, alors essayez d'équilibrer la taille du cache et les paramètres TTL en fonction des exigences de l'application.