MAMP installé sur un nouveau Macbook avec PHP 5.5.3.
Recharger et actualiser ne fait rien. Toujours rien. Google autour pendant quelques minutes pour essayer de découvrir ce qui ne va pas, revenez et rafraîchissez-vous. Ça marche. Que diable?
Je suis allé dans php.ini et j'ai désactivé tous les nouveaux OPcache et mis le temps de cache par défaut à 0. Ajout d'en-têtes au document pour ne forcer aucune mise en 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, donc tout nouveau HTML dans le index.php
fichier rend bien, mais le nouveau PHP qui doit être rendu par le serveur est retardé et n'est pas rendu jusqu'à ce qu'un ensemble de temps prédéterminé passe que je ne sais pas comment changer. Que se passe-t-il?
J'ai également vérifié cela dans Safari, donc c'est définitivement un serveur qui empêche le fichier de s'afficher.
Fait intéressant cependant, si je vais dans MAMP et que je change la version de PHP pour l'ancienne (PHP 5.2 ou quelque chose), le rendu sera normal, sans "problèmes de mise en cache". Passez à PHP 5.5 et il raccroche. 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.
Réponses:
Désactiver OPCache
MAMP active maintenant OPCache par défaut, vous pouvez le désactiver en éditant votre fichier php.ini. Assurez-vous de modifier le bon php.ini.
J'étais moi-même confronté au même problème. MAMP avec PHP version 5.5.3 exécute OPcache par défaut, mais vous ne pouvez pas le désactiver dans l'interface graphique comme vous pouvez le faire avec l'ancienne version 5.2.17 de PHP. Vous devez commenter manuellement toutes les lignes OPcache à la fin du fichier php.ini (MAMP / bin / php / [version] /conf/php.ini) et assurez-vous d'arrêter et de démarrer les serveurs pour que les modifications prennent effet.
J'ai mis à jour l'URI, les changements peuvent être réfléchis en changeant également / conf / sous le dossier php, mais il semble que MAMP les ignorera après le redémarrage .
la source
php.ini
fichier que vous souhaitez modifier se trouve dans / bin, pas dans / conf. Mon chemin complet était/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
.J'ai ajouté opcache_reset (); dans mon PHP principal pour arrêter cette mise en cache.
Le retirer
php5.5.3/conf/php.ini
n'a rien fait pour moi.Éditer
Il s'avère qu'il y a aussi un fichier
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
. Cela fonctionne si je le commente là-bas.la source
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
ne fait rien, mais ajouteropcache_reset();
àindex.php
travaillé.1) dans /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) définir opcache.revalidate_freq = 0
3) redémarrer MAMP
la source
Il m'a fallu si longtemps pour comprendre que c'était un problème MAMP! Pourquoi OPcache serait-il activé par défaut - et nécessiterait la désactivation 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 j'ai essayé les différentes solutions.
Voici mes notes sur le fonctionnement de chaque solution et les considérations pour la sélection d'une solution.
Chaque solution fonctionne de manière autonome; pas besoin de redondance.
Solution de code de page Web
opcache_reset ();
Solutions de configuration de serveur
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.enable = 0
[OPcache]
dansphp.ini
.opcache.revalidate_freq = 0
opcache.revalidate_freq
sous[OPcache]
dansphp.ini
.Commenter [OPcache]
[OPcache]
section dansphp.ini
.Considérations
Choisissez la solution de code de page Web si:
Choisissez une solution de configuration de serveur si:
Personnellement, je préfère
enable=0
car c'est la solution la plus simple pour moi et j'ai besoin de la mise en cache désactivée par défaut.Références
la source
On dirait que c'est finalement une option GUI.
MAMP 3.0.7.2 for Mac OS X
.la source
C'était douloureux de passer environ 1 heure à essayer de comprendre ce que cela pouvait être.
Je viens d'ajouter ceci à la fin du code et redémarrer MAMP.
la source
Editez "/Applications/MAMP/conf/php5.5.3/php.ini", recherchez [OPcache] et ajoutez ce code directement en dessous:
Cela désactivera opcache lors de l'utilisation de PHP sur le serveur MAMP.
la source
Oh mec je suis content d'avoir trouvé ce fil! Je tirais mes cheveux! Je viens de mettre à jour MAMP hier et je n'ai pas remarqué ce problème de mise en cache jusqu'à aujourd'hui en travaillant sur un projet. Je pensais que je perdais la tête. Je viens de changer "/Applications/MAMP/conf/php5.5.3/php.ini" tout en bas du fichier opcache.enable = 0
la source
Ceci est également actuel dans la version Windows de MAMP.
Il est répertorié tout en bas du fichier.
L'autre problème que j'ai trouvé, était sur un NAS TS-431 QNAP. Cette mise en cache est également activée, et si vous travaillez avec des fichiers qui changent dynamiquement ou essayez de développer dessus, vous vous arracherez les cheveux. Comme pour les autres commentaires, commentez-le simplement. Le cadre est situé dans:
Une fois de plus, vous trouverez les paramètres au bas du fichier.
la source