Instalado MAMP en una nueva Macbook con PHP 5.5.3.
Recargar y actualizar no hacer nada. Aún nada. Google alrededor por unos minutos tratando de averiguar qué está mal, volver y actualizar. Funciona. ¿Que demonios?
Entré en php.ini y deshabilité todos los OPcache nuevos y configuré el tiempo de caché predeterminado en 0. Agregué encabezados al documento para no forzar el almacenamiento en caché. Sigue siendo el mismo problema. ¿Qué diablos está pasando aquí?
La pestaña de red muestra una solicitud HTTP 200, por lo que cualquier HTML nuevo en el index.php
archivo se procesa bien, pero el nuevo PHP que necesita ser procesado por el servidor se retrasa y no se procesa hasta que pasa un conjunto predeterminado de tiempo que no sé cómo cambiar. ¿Que esta pasando?
También verifiqué esto en Safari, por lo que definitivamente es una cosa del servidor que impide que el archivo se procese.
Sin embargo, un dato interesante es que si entro en MAMP y cambio la versión de PHP a la anterior (PHP 5.2 o algo así) se renderizará normalmente, sin "problemas de almacenamiento en caché". Cambie a PHP 5.5 y cuelga. En las preferencias de MAMP, las opciones de almacenamiento en caché para 5.5 ni siquiera existen y se deshabilitan automáticamente.
Respuestas:
Deshabilitar OPCache
MAMP ahora activa OPCache de forma predeterminada, puede deshabilitarlo editando su archivo php.ini. Asegúrese de editar el php.ini correcto.
Me encontraba con el mismo problema. MAMP con PHP versión 5.5.3 ejecuta OPcache de forma predeterminada, pero no puede desactivarlo en la GUI como puede hacerlo con la versión anterior de PHP 5.2.17. Debe comentar manualmente todas las líneas de OPcache al final del archivo php.ini (MAMP / bin / php / [versión] /conf/php.ini) y asegúrese de detener e iniciar los servidores para que se realicen los cambios. efecto.
Actualicé el URI, los cambios pueden ser reflexivos también cambiando / conf / debajo de la carpeta php, pero parece que MAMP los ignorará después de reiniciar .
fuente
php.ini
archivo que desea editar está en / bin, no en / conf. Mi camino completo fue/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
.Añadí opcache_reset (); en mi PHP principal para detener este almacenamiento en caché.
Quitarlo no
php5.5.3/conf/php.ini
hizo nada por mí.Editar
Resulta que también hay un
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
. Funciona si lo comento por ahí.fuente
/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
no hace nada, pero agregaopcache_reset();
aindex.php
trabajado.1) en /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
2) establezca opcache.revalidate_freq = 0
3) reinicie MAMP
fuente
¡Me tomó tanto tiempo descubrir que era un problema MAMP! ¿Por qué OPcache estaría habilitado de forma predeterminada, y requeriría retoques php.ini para deshabilitarlo, en una aplicación que se supone que se usará para probar sitios web? De todos modos, leí todo este hilo y probé las diversas soluciones.
Aquí están mis notas sobre cómo funciona cada solución y las consideraciones para seleccionar una solución.
Cada solución funciona por sí sola; No hay necesidad de redundancia.
Solución de código de página web
opcache_reset ();
Soluciones de configuración del servidor
Importante: use el
php.ini
archivo en/Applications/MAMP/bin/php/php5.5.3/conf/php.ini
y no en/Applications/MAMP/conf/php5.5.3/php.ini
. Ajuste en consecuencia si está utilizando una versión diferente de PHP.habilitar = 0
[OPcache]
enphp.ini
.opcache.revalidate_freq = 0
opcache.revalidate_freq
debajo de[OPcache]
enphp.ini
.Comentando [OPcache]
[OPcache]
sección enphp.ini
.Consideraciones
Elija la solución de código de página web si:
Elija una solución de configuración del servidor si:
Personalmente prefiero
enable=0
ya que es la solución más simple para mí, y necesito el almacenamiento en caché deshabilitado de forma predeterminada.Referencias
fuente
Parece que finalmente es una opción de GUI.
MAMP 3.0.7.2 for Mac OS X
.fuente
Fue doloroso pasar alrededor de 1 hora tratando de descubrir qué podría ser.
Acabo de agregar esto al final del código y reiniciar MAMP.
fuente
Edite "/Applications/MAMP/conf/php5.5.3/php.ini", busque [OPcache] y agregue este código directamente debajo:
Esto deshabilitará opcache cuando use PHP en el servidor MAMP.
fuente
¡Oh hombre, me alegro de haber encontrado este hilo! ¡Me estaba arrancando el pelo! Acabo de actualizar MAMP ayer y no noté este problema de almacenamiento en caché hasta hoy mientras trabajaba en un proyecto. Pensé que me estaba volviendo loco. Acabo de cambiar "/Applications/MAMP/conf/php5.5.3/php.ini" al final del archivo opcache.enable = 0
fuente
Esto también es actual en la versión de Windows de MAMP también.
Está en la lista al final del archivo.
El otro problema que encontré fue en un QNAP NAS TS-431. Este almacenamiento en caché también está habilitado, y si estás trabajando con archivos que cambian dinámicamente, o intentas desarrollarlos, te arrancarás el pelo. Según los otros comentarios, solo coméntelo. La configuración se encuentra en:
Una vez más, encontrará la configuración en la parte inferior del archivo.
fuente