Alternative PHP Cache (APC) est un cache de code optimisé gratuit et public pour PHP. Il est utilisé pour fournir un cadre gratuit, ouvert et robuste pour la mise en cache et l'optimisation du code intermédiaire PHP.
Le site officiel d'APC est http://pecl.php.net/package/apc .
L'adresse de téléchargement du module d'extension sous Windows est http://www.sitebuddy.com/php/accelerators/apc_windows_binaries_builds
. nécessite le répertoire c:tmp et le répertoire doit être accessible en écriture par le processus du serveur Web.
1. Installer
en tant qu'extension PHP
2. Configurer
l'option d'optimisationbooléenne
apc.optimization
apc.enabled. APC peut être modifié dans le script.
Explication détaillée des options de configuration PHP.ini
[APC]
Le cache PHP alternatif est utilisé pour mettre en cache et optimiser PHP intermédiaire. code
apc.cache_by_default = On
;SYS
; S'il faut activer la mise en mémoire tampon pour tous les fichiers par défaut.
; S'il est défini sur Off et utilisé avec la directive apc.filters commençant par un signe plus, les fichiers ne seront mis en cache que s'ils correspondent à un filtre.
apc.enable_cli = Off
;SYS
; S'il faut activer la fonction APC pour la version CLI, activez cette commande uniquement à des fins de test et de débogage.
apc.enabled = On
; S'il faut activer APC Si APC est compilé statiquement en PHP et que vous souhaitez le désactiver, c'est le seul moyen.
apc.file_update_protection = 2
;SYS
; Lorsque vous modifiez des fichiers sur un serveur en cours d'exécution, vous devez effectuer des opérations atomiques.
; Autrement dit, écrivez d’abord dans un fichier temporaire, puis renommez (mv) le fichier avec le nom final.
Les éditeurs de texte et les programmes tels que cp et tar ne fonctionnent pas de cette manière, ce qui entraîne la possibilité de mettre en mémoire tampon des fichiers incomplets.
; La valeur par défaut 2 signifie que lors de l'accès à un fichier, si l'heure de modification s'avère inférieure à 2 secondes de l'heure d'accès, aucune mise en mémoire tampon ne sera effectuée.
Le visiteur malchanceux peut obtenir un contenu corrompu, mais le mauvais effet n'est pas amplifié par la mise en cache.
; Si vous pouvez vous assurer que toutes les opérations de mise à jour sont atomiques, vous pouvez désactiver cette fonctionnalité avec 0.
; Si votre système se met à jour lentement en raison d'opérations d'E/S lourdes, vous devrez peut-être augmenter cette valeur.
apc.filters =
;SYS
; Une liste d'expressions régulières étendues POSIX séparées par des virgules.
; Si le nom du fichier source correspond à l'un des modèles, le fichier n'est pas mis en cache.
; Notez que le nom de fichier utilisé pour la correspondance est le nom de fichier transmis à include/require, et non le chemin absolu.
; Si le premier caractère de l'expression régulière est "+", cela signifie que tout fichier correspondant à l'expression sera mis en cache,
; Si le premier caractère est "-" alors aucune correspondance ne sera mise en cache. "-" est la valeur par défaut et peut être omis.
apc.ttl = 0
;SYS
; Le nombre de secondes pendant lesquelles une entrée de cache est autorisée à rester dans le tampon. 0 signifie qu'il n'y a jamais d'expiration. La valeur recommandée est de 7 200 à 36 000.
; La valeur 0 signifie que le tampon peut être rempli d'anciennes entrées de cache, empêchant ainsi la mise en cache de nouvelles entrées.
apc.user_ttl = 0
;SYS
; Similaire à apc.ttl, mais pour chaque utilisateur, la valeur recommandée est de 7 200 à 36 000.
; La valeur 0 signifie que le tampon peut être rempli d'anciennes entrées de cache, empêchant ainsi la mise en cache de nouvelles entrées.
apc.gc_ttl = 3600
;SYS
; Le nombre de secondes pendant lesquelles une entrée de cache peut exister dans la table de récupération de place.
; Cette valeur fournit une mesure de sécurité afin que même si un processus serveur plante lors de l'exécution d'un fichier source mis en cache
et que le fichier source a été modifié, la mémoire allouée pour l'ancienne version ne sera pas récupérée tant que cette valeur TTL n'est pas atteinte.
; Réglez sur zéro pour désactiver cette fonctionnalité.
apc.include_once_override = Off
;SYS
; Veuillez le garder désactivé, sinon cela pourrait entraîner des résultats inattendus.
apc.max_file_size = 1M
;SYS
; Désactive la mise en cache des fichiers plus grands que cette taille.
apc.mmap_file_mask =
; SYS
; Si le support MMAP a été compilé pour APC en utilisant --enable-mmap (activé par défaut),
; la valeur ici est le masque de fichier de style mktemp transmis au module mmap (la valeur recommandée est "/tmp /apc XXXXXX").
; Ce masque est utilisé pour déterminer si la zone mappée en mémoire doit être sauvegardée sur un fichier ou sur une mémoire partagée.
; Pour le mappage direct de la mémoire sauvegardée sur fichier, définissez-le sur "/tmp/apc.XXXXXX" (exactement 6 X).
; Pour utiliser shm_open/mmap de style POSIX, il doit être défini sur "/apc.shm.XXXXXX".
; Vous pouvez également définir "/dev/zero" pour utiliser l'interface "/dev/zero" du noyau pour la mémoire mappée de manière anonyme.
; Ne pas définir cette directive force l'utilisation d'un mappage anonyme.
apc.num_files_hint = 1000
; SYS
; Le nombre approximatif de fichiers sources différents pouvant être inclus ou demandés sur le serveur Web (la valeur recommandée est de 1 024 à 4 096).
; Si vous n'êtes pas sûr, définissez-le sur 0 ; Ce paramètre est principalement utilisé pour les sites contenant des milliers de fichiers sources.
apc.optimization = 0
; Niveau d'optimisation (la valeur recommandée est 0).
; Une valeur entière positive permet à l'optimiseur d'utiliser des valeurs plus élevées en utilisant des optimisations plus agressives.
Des valeurs plus élevées peuvent avoir des améliorations de vitesse très limitées, mais sont actuellement expérimentales.
apc.report_autofilter = Off
;SYS
; S'il faut enregistrer tous les scripts qui ne sont automatiquement pas mis en cache pour des raisons de liaison précoce/tardive.
apc.shm_segments = 1
;SYS
; Le nombre de blocs de mémoire partagée alloués au tampon du compilateur (la valeur recommandée est 1).
; Si APC manque de mémoire partagée et que la directive apc.shm_size a été définie au maximum autorisé par le système,
; vous pouvez essayer d'augmenter cette valeur.
apc.shm_size = 30
; SYS
; La taille de chaque bloc de mémoire partagée (en Mo, la valeur recommandée est de 128~256).
Certains systèmes (y compris la plupart des variantes BSD) ont une très petite taille de bloc de mémoire partagée par défaut.
apc.slam_defense = 0
;SYS (Il est déconseillé d'utiliser cette instruction, il est recommandé d'utiliser l'instruction apc.write_lock)
; Sur un serveur très occupé, que ce soit le démarrage d'un service ou la modification d'un fichier,
cela peut être causé par ; plusieurs processus essayant de mettre en cache un fichier en même temps provoquent une situation de concurrence critique.
; Cette directive est utilisée pour définir le pourcentage auquel le processus ignore l'étape de mise en cache lors du traitement des fichiers non mis en cache.
Par exemple, le définir sur 75 signifie qu'il y a une probabilité de 75 % de ne pas être mis en cache lorsqu'un fichier non mis en cache est rencontré, réduisant ainsi le risque de collision.
; Il est recommandé d'être défini sur 0 pour désactiver cette fonctionnalité.
apc.stat = On
;SYS
; S'il faut activer la vérification de la mise à jour du script.
; Soyez très prudent lorsque vous modifiez la valeur de cette directive.
; La valeur par défaut On indique qu'APC vérifie si le script a été mis à jour à chaque fois qu'il est demandé
, il recompile et met automatiquement en cache le contenu compilé. Cependant, cela a un impact négatif sur les performances.
; S'il est défini sur Off, aucune vérification n'est effectuée, améliorant ainsi considérablement les performances.
; Mais pour que le contenu mis à jour prenne effet, vous devez redémarrer le serveur Web.
; Cette directive est également valable pour les fichiers include/require. Mais il convient de noter que
si vous utilisez un chemin relatif, APC doit vérifier la localisation du fichier à chaque inclusion/require.
; L'utilisation de chemins absolus peut ignorer la vérification, nous vous encourageons donc à utiliser des chemins absolus pour les opérations d'inclusion/exigence.
apc.user_entries_hint = 100
;SYS
; Similaire à la directive num_files_hint, mais pour chaque utilisateur différent.
; Si vous n'êtes pas sûr, définissez-le sur 0.
apc.write_lock = On
;SYS
; S'il faut activer le verrouillage en écriture.
; Sur un serveur très occupé, qu'il s'agisse du démarrage d'un service ou de la modification d'un fichier,
; une condition de concurrence peut résulter de plusieurs processus essayant de mettre en cache un fichier en même temps.
; Activez cette directive pour éviter les conditions de concurrence.
apc.rfc1867 = Off
;SYS
; Après avoir activé cette directive, pour chaque fichier téléchargé qui contient le champ APC_UPLOAD_PROGRESS juste avant le champ de fichier,
; APC créera automatiquement une entrée de cache utilisateur pour upload_ (c'est-à-dire la valeur du champ APC_UPLOAD_PROGRESS).
3. Fonction
apc_cache_info - Récupère les informations mises en cache (et les métadonnées) du magasin de données d'APC
apc_clear_cache - Efface le cache APC
apc_define_constants - Définit un ensemble de constantes pour une récupération ultérieure et une définition de masse
apc_delete - Supprime une variable stockée du cache
apc_fetch - Récupère une variable stockée dans le cache
apc_load_constants - Charge un ensemble de constantes depuis le cache
apc_sma_info - Récupère les informations d'allocation de mémoire partagée d'APC
apc_store - Cache une variable dans le magasin de données
L'utilisation d'apc est relativement simple, avec seulement quelques fonctions, répertoriées ci-dessous.
apc_cache_info() renvoie les informations du cache.
apc_clear_cache() efface le contenu du cache apc.
Par défaut (aucun paramètre), seul le cache système est vidé. Pour vider le cache utilisateur, utilisez le paramètre 'user'.
apc_define_constants (clé de chaîne, constantes de tableau [, bool case_sensitive]) Ajoutez des constantes de tableau au cache en tant que constantes.
apc_load_constants (clé de chaîne).
Supprimez le cache constant.
apc_store ( clé de chaîne, var mixte [, int ttl] ).
Enregistrez les données dans le cache.
apc_fetch (clé de chaîne).
Récupère le contenu du cache apc_delete (clé de chaîne) enregistré par apc_store
.
Supprimez le contenu enregistré par apc_store.
Gestion Apc :
accédez à pecl.php.net pour télécharger le package de code source apc et il y a apc.php, copiez-le à un endroit où votre serveur Web peut y accéder et naviguez pour y accéder.
Les fonctions de l'interface de gestion sont :
1. Actualiser les données
2. Afficher les statistiques de l'hôte
3. Entrées du cache système
4. Entrées du cache utilisateur
5. Vérification de la version