Cosas que deben evitar al codificar programas PHP que funcionan en los cachers de código de operaciones

StackOverflow https://stackoverflow.com/questions/2012441

  •  19-09-2019
  •  | 
  •  

Pregunta

¿Qué tipo de cosas debo evitar si quiero admitir los cachés de código de operación PHP? ¿Están las llamadas estáticas malvadas? ¿Qué pasa con __autoload?

¿Fue útil?

Solución

Para cada aplicación web basada en PHP en la que he trabajado durante los últimos 3 años y medio, siempre he usado APC Como caché de código de operación, en todos los servidores que estoy usando ...

... Y nunca he tenido que tomar nada "especial" mientras se desarrollaba: en todos los casos, usar APC o no ha sido transparente, la única diferencia es sobre actuaciones.

Nunca he tenido ningún problema con las llamadas estáticas, ni la carga automática, por ejemplo, ni con nada más (Y he trabajado con un par de marcos diferentes y aplicaciones OSS)

Aún así, un buen hábito: si planea usar APC en su servidor de producción, use también en sus máquinas de desarrollo, por si acaso, pero habilite el apc.stat Opción sobre ellos, por lo que su vida no se complica por el mecanismo en caché del código de operación.

Otros consejos

Se hace un caché de código de operación para almacenar en caché la versión compilada del script. El motor Zend debajo del capó siempre compila scripts PHP a códigos de operación más rápidos antes de ejecutar el script, y son estos códigos de operación que el caché guardará. Por lo tanto, su script se comportará exactamente de la misma manera que debería sin el caché, solo será más rápido para comenzar a ejecutarse.

El motor de caché generalmente se ve en la marca de tiempo (tiempo de modificación o mtime) del archivo PHP. APC se puede configurar para buscar el tiempo de modificación en cada solicitud (el valor predeterminado), pero también podría configurarse para no verificar el tiempo de modificación y, en ese caso, debe borrar manualmente el caché para realizar cambios. Vea esta configuración en el caché APC:

http://php.net/manual/en/apc.configuration.php#ini.apc.stat

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top