Установлен MAMP на новый Macbook с PHP 5.5.3.
Перезагрузка и обновление ничего не делают. Еще ничего. Погуглите несколько минут, пытаясь выяснить, что не так, вернитесь и обновитесь. Оно работает. Какого черта?
Я зашел в php.ini и отключил все новые OPcache и установил время кеширования по умолчанию на 0. Добавил заголовки в документ, чтобы принудительно не кэшировать. Все еще та же проблема. Что, черт возьми, здесь происходит?
На вкладке сети отображается запрос HTTP 200, поэтому любой новый HTML-код в index.php
файле отображается нормально, но новый PHP, который должен отображаться сервером, откладывается и не отображается до тех пор, пока не пройдет определенный заранее установленный набор времени, что я не знаю, как изменить. В чем дело?
Я проверил это и в Safari, так что это определенно серверная вещь, которая удерживает файл от рендеринга.
Интересный факт, однако, если я перейду в MAMP и изменю версию PHP на старую (PHP 5.2 или что-то еще), она будет отображаться нормально, без «проблем с кешированием». Переключитесь на PHP 5.5, и он зависнет. В настройках MAMP параметры кеширования для 5.5 даже не существуют и автоматически отключаются.
Ответы:
Отключить OPCache
MAMP теперь включает OPCache по умолчанию, вы можете отключить его, отредактировав файл php.ini. Убедитесь, что вы редактируете правильный php.ini.
Я сам столкнулся с той же проблемой. MAMP с версией PHP 5.5.3 по умолчанию запускает OPcache, но вы не можете отключить его в графическом интерфейсе, как в более старой версии PHP 5.2.17. Вы должны вручную закомментировать все строки OPcache в конце файла php.ini (MAMP / bin / php / [версия] /conf/php.ini) и обязательно остановить и запустить серверы, чтобы изменения вступили в силу. эффект.
Я обновил URI, изменения могут быть отражающими, если также изменить / conf / в папке php, но похоже, что MAMP проигнорирует их после перезапуска .
источник
php.ini
файл, который вы хотите отредактировать, находится в / bin, а не в / conf. Мой полный путь был/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
.Я добавил opcache_reset (); в моем основном PHP, чтобы остановить это кеширование.
Удаление этого
php5.5.3/conf/php.ini
ничего не сделало для меня.редактировать
Оказывается, там тоже есть файл
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
. Это работает, если я прокомментирую это там.источник
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
ничего не делает, но добавлениеopcache_reset();
кindex.php
работало.1) в /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) установите opcache.revalidate_freq = 0
3) перезапустите MAMP
источник
Мне потребовалось много времени, чтобы понять, что это проблема с MAMP! Почему OPcache должен быть включен по умолчанию - и для его отключения требуется настройка php.ini - в приложении, которое предполагается использовать для тестирования веб-сайтов? В любом случае, я прочитал всю эту ветку и попробовал различные решения.
Вот мои заметки о том, как работает каждое решение, и соображения по выбору решения.
Каждое решение работает само по себе; нет необходимости в резервировании.
Решение для кода веб-страницы
opcache_reset ();
Решения по настройке сервера
Важно: используйте
php.ini
файл в формате,/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
а не в формате/Applications/MAMP/conf/php5.5.3/php.ini
. Отрегулируйте соответственно, если вы используете другую версию PHP.включить = 0
[OPcache]
вphp.ini
.opcache.revalidate_freq = 0
opcache.revalidate_freq
соответствии[OPcache]
сphp.ini
.Комментирование [OPcache]
[OPcache]
раздел вphp.ini
.Соображения
Выберите код веб-страницы, если:
Выберите вариант конфигурации сервера, если:
Я лично предпочитаю,
enable=0
так как это самое простое решение для меня, и мне нужно, чтобы кеширование было отключено по умолчанию.Ссылки
источник
Похоже, это наконец вариант с графическим интерфейсом.
MAMP 3.0.7.2 for Mac OS X
,источник
Было болезненно потратить около часа, пытаясь понять, что это могло быть.
Я просто добавил это в конец кода и перезапустил MAMP.
источник
Отредактируйте "/Applications/MAMP/conf/php5.5.3/php.ini", найдите [OPcache] и добавьте этот код непосредственно под ним:
Это отключит opcache при использовании PHP на сервере MAMP.
источник
О боже, я рад, что нашел эту ветку! Я выдергивал волосы! Я только что обновил MAMP вчера и не заметил этой проблемы с кешированием до сегодняшнего дня, работая над проектом. Думал, что схожу с ума. Я только что изменил "/Applications/MAMP/conf/php5.5.3/php.ini" в самом низу файла opcache.enable = 0
источник
Это также актуально в версии MAMP для Windows.
Он указан в самом низу файла.
Другая проблема, которую я обнаружил, была на QNAP NAS TS-431. Это кеширование также включено, и если вы работаете с динамически изменяющимися файлами или пытаетесь развить их, вы будете рвать на себе волосы. Что касается других комментариев, просто прокомментируйте это. Настройка находится в:
И снова вы найдете настройки внизу файла.
источник