Installé MAMP sur un nouveau Macbook avec PHP 5.5.3.
Recharger et rafraîchir ne font rien. Toujours rien. Google autour pendant quelques minutes essayant de découvrir ce qui ne va pas, revenez et actualisez. Ça marche. Que diable?
Je suis allé dans php.ini, j'ai désactivé tout le nouvel OPcache et mis le temps de cache par défaut à 0. Des en-têtes supplémentaires ont été ajoutés au document pour ne pas forcer le cache. Toujours le même problème. Mais qu'est ce qu'il se passe ici?
L'onglet réseau affiche une requête HTTP 200, ainsi tout nouveau code HTML dans le fichier index.php
Le fichier restitue correctement, mais le nouveau PHP qui doit être restitué par le serveur est retardé et non restitué jusqu'à ce qu'un laps de temps prédéterminé s'écoule que je ne sais pas comment changer. sur?
J'ai aussi vérifié cela dans Safari, donc c'est certainement un problème de serveur qui empêche le rendu du fichier.
Fait intéressant cependant, si je passe dans MAMP et que je change la version PHP) à l'ancienne (PHP 5.2 ou quelque chose du genre), le rendu sera normal, sans "problèmes de mise en cache". Basculez vers PHP 5.5 et il se bloque. Dans les préférences MAMP, les options de mise en cache pour 5.5 n'existent même pas et sont automatiquement désactivées.
Désactiver OPCache
MAMP active désormais OPCache par défaut, vous pouvez le désactiver en modifiant votre fichier php.ini. Assurez-vous que vous modifiez le php.ini correct.
Je rencontrais le même problème moi-même. MAMP avec PHP la version 5.5.3 exécute OPcache par défaut, mais vous ne pouvez pas le désactiver dans l'interface graphique comme vous le pouvez avec l'ancien PHP version 5.2 .17 Vous devez commenter manuellement toutes les lignes OPcache à la fin du fichier php.ini (MAMP/bin/php/[version] /conf/php.ini) et vous assurer d’arrêter et de redémarrer les serveurs du les changements prennent effet.
J'ai mis à jour l'URI, les modifications peuvent être réfléchissantes en modifiant également/conf/dans le dossier php, mais il semble que MAMP les ignore après le redémarrage .
J'ai ajouté opcache_reset (); dans mon PHP) principal pour arrêter cette mise en cache.
En le retirant de php5.5.3/conf/php.ini
n'a rien fait pour moi.
Éditer
Il s'avère qu'il y a aussi un /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
. Cela fonctionne si je commente là-bas.
1) dans /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) set opcache.revalidate_freq = 0
3) redémarrer MAMP
Il m'a fallu si longtemps pour comprendre que c'était un problème de MAMP! Pourquoi OPcache serait-il activé par défaut - et aurait-il besoin d'un bricolage de php.ini - dans une application censée être utilisée pour tester des sites Web? Quoi qu'il en soit, j'ai lu tout ce fil et essayé les différentes solutions.
Voici mes notes sur le fonctionnement de chaque solution et les considérations à prendre en compte pour la sélection d'une solution.
Chaque solution fonctionne de manière autonome. pas besoin de redondance.
<?php opcache_reset(); ?>
Important: Utilisez le php.ini
fichier dans /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
et non dans /Applications/MAMP/conf/php5.5.3/php.ini
. Ajustez en conséquence si vous utilisez une version différente de PHP.
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
enable=0
[OPcache]
dans php.ini
.[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.revalidate_freq
sous [OPcache]
dans php.ini
.;[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;opcache.memory_consumption=128
;opcache.interned_strings_buffer=8
;opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
;opcache.fast_shutdown=1
;opcache.enable_cli=1
[OPcache]
section dans php.ini
.Choisissez la solution de code de page Web si:
Choisissez une solution de configuration de serveur si:
Personnellement, je préfère enable=0
puisque c'est la solution la plus simple pour moi et que la mise en cache est désactivée par défaut.
Il semble que ce soit finalement une option graphique. MAMP 3.0.7.2 for Mac OS X
.
Il était pénible de passer environ une heure à essayer de comprendre ce que cela pouvait être.
Je viens d'ajouter ceci à la fin du code et de redémarrer MAMP.
opcache.revalidate_freq=0
opcache_reset();
Oh mec, je suis content d'avoir trouvé ce fil! Je tirais mes cheveux! Je viens de mettre à niveau MAMP hier et je n'ai pas remarqué ce problème de mise en cache jusqu'à aujourd'hui alors que je travaillais sur un projet. Je pensais que je perdais la raison. Je viens de changer "/ Applications/MAMP/conf/php5.5.3/php.ini" tout en bas du fichier opcache.enable = 0
Éditez "/Applications/MAMP/conf/php5.5.3/php.ini", recherchez [OPcache] et ajoutez ce code directement sous celui-ci:
opcache.enable=0
Ceci désactivera opcache lors de l'utilisation PHP sur le serveur MAMP.
Ceci est également courant dans la version Windows de MAMP.
C:\MAMP\conf\php5.6.3\php.ini
Il est répertorié au bas du fichier.
L’autre problème que j’ai rencontré concerne un QNAP NAS TS-431. Cette mise en cache est également activée. Si vous travaillez avec des fichiers à modification dynamique, ou essayez de les développer, vous allez déchirer vos cheveux. Selon les autres commentaires, il suffit de commenter. Le paramètre est situé dans:
Panneau de configuration/Applications/Serveur Web/Maintenance PHP.ini.
Encore une fois, vous trouverez les paramètres au bas du fichier.