Installierte MAMP auf einem neuen Macbook mit PHP 5.5.3.
Neu laden und aktualisieren, nichts tun. Immer noch nichts. Google versucht ein paar Minuten lang herauszufinden, was nicht in Ordnung ist. Kommen Sie zurück und aktualisieren Sie sich. Es klappt. Was zum Teufel?
Ich ging in die php.ini und deaktivierte den gesamten neuen OPcache und stellte die Standard-Cache-Zeit auf 0. Dem Dokument wurden Header hinzugefügt, um kein Caching zu erzwingen. Immer noch das gleiche Problem. Was zum Teufel ist hier los?
Auf der Registerkarte "Netzwerk" wird eine HTTP 200-Anforderung angezeigt, sodass jeder neue HTML-Code in der Datei index.php
In Ordnung gerendert wird. Das neue PHP, das vom Server gerendert werden muss, wird jedoch verzögert und erst nach einem festgelegten Satz gerendert Es vergeht eine Menge Zeit, die ich nicht ändern kann. Was ist los?
Ich habe dies auch in Safari überprüft, damit die Datei auf keinen Fall gerendert wird.
Interessante Tatsache ist jedoch, dass wenn ich in MAMP gehe und die PHP -Version auf die alte (PHP 5.2 oder so) ändere, diese normal und ohne "Caching-Probleme" gerendert wird. Wechseln Sie zu PHP 5.5 und es legt auf. In den MAMP-Einstellungen gibt es noch nicht einmal Caching-Optionen für 5.5, die automatisch deaktiviert werden.
OPCache deaktivieren
MAMP aktiviert jetzt standardmäßig OPCache. Sie können es deaktivieren, indem Sie Ihre php.ini-Datei bearbeiten. Stellen Sie sicher, dass Sie die richtige php.ini bearbeiten.
Ich selbst hatte das gleiche Problem. MAMP mit PHP Version 5.5.3 führt standardmäßig OPcache aus, aber Sie können es nicht in der GUI ausschalten, wie Sie es mit der älteren PHP Version 5.2 können .17 Sie müssen alle OPcache-Zeilen am Ende der php.ini-Datei (MAMP/bin/php/[version] /conf/php.ini) manuell auskommentieren und sicherstellen, dass die Server für die Änderungen werden wirksam.
Ich habe die URI aktualisiert. Die Änderungen können sich auch in/conf/im PHP-Ordner widerspiegeln, aber es scheint, als würde MAMP diese nach dem Neustart ignorieren .
Ich habe opcache_reset (); in mein main PHP hinzugefügt, um dieses Caching zu stoppen.
Das Entfernen von php5.5.3/conf/php.ini
Hat nichts für mich getan.
Bearbeiten
Es stellt sich heraus, dass es auch einen /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
Gibt. Es funktioniert, wenn ich es dort auskommentiere.
1) in /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) setze opcache.revalidate_freq = 0
3) Starten Sie MAMP neu
Ich habe so lange gebraucht, um herauszufinden, dass es ein MAMP-Problem war! Warum sollte OPcache in einer App, die zum Testen von Websites verwendet werden soll, standardmäßig aktiviert sein und die Deaktivierung von php.ini erfordern? Jedenfalls habe ich diesen ganzen Thread durchgelesen und die verschiedenen Lösungen ausprobiert.
Hier sind meine Notizen zur Funktionsweise jeder Lösung und Überlegungen zur Auswahl einer Lösung.
Jede Lösung funktioniert für sich. Keine Notwendigkeit für Redundanz.
<?php opcache_reset(); ?>
Wichtig: Verwenden Sie die Datei php.ini
In /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
Und nicht in /Applications/MAMP/conf/php5.5.3/php.ini
. Passen Sie dies an, wenn Sie eine andere PHP-Version verwenden.
[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]
In php.ini
Hinzugefügt werden.[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
Unter [OPcache]
In 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]
In php.ini
Aus.Wählen Sie die Webseitencode-Lösung aus, wenn:
Wählen Sie eine Serverkonfigurationslösung, wenn:
Ich persönlich bevorzuge enable=0
, Da dies für mich die einfachste Lösung ist und ich das Caching standardmäßig deaktivieren muss.
Es sieht so aus, als wäre dies endlich eine GUI-Option. MAMP 3.0.7.2 for Mac OS X
.
Es war schmerzhaft, ungefähr eine Stunde zu verbringen, um herauszufinden, was es sein könnte.
Ich habe dies am Ende des Codes hinzugefügt und MAMP neu gestartet.
opcache.revalidate_freq=0
opcache_reset();
Oh Mann, ich bin froh, dass ich diesen Thread gefunden habe! Ich zog mir die Haare aus! Ich habe gestern gerade ein Upgrade für MAMP durchgeführt und habe dieses Caching-Problem bis heute bei der Arbeit an einem Projekt nicht bemerkt. Ich dachte, ich verliere den Verstand. Ich habe gerade "/Applications/MAMP/conf/php5.5.3/php.ini" ganz unten in der Datei opcache.enable = 0 geändert
Bearbeiten Sie "/Applications/MAMP/conf/php5.5.3/php.ini", suchen Sie nach [OPcache] und fügen Sie diesen Code direkt darunter hinzu:
opcache.enable=0
Dadurch wird der Opcache deaktiviert, wenn PHP auf dem MAMP-Server verwendet wird.
Dies ist auch in der Windows-Version von MAMP aktuell.
C:\MAMP\conf\php5.6.3\php.ini
Es ist ganz unten in der Datei aufgeführt.
Das andere Problem, das ich gefunden habe, war auf einem QNAP NAS= TS-431. Dieses Caching ist ebenfalls aktiviert. Wenn Sie mit sich dynamisch ändernden Dateien arbeiten oder versuchen, darauf zu entwickeln, werden Sie Wie in den anderen Kommentaren erwähnt, kommentiere es einfach aus. Die Einstellung befindet sich in:
Systemsteuerung/Anwendungen/Webserver/PHP.ini-Wartung.
Wieder finden Sie die Einstellungen am Ende der Datei.