Pregunta

Estoy usando APC para almacenar en caché las variables de usuario (con los comandos apc_store / apc_fetch). También he habilitado APC para la CLI con la opción " apc.enable_cli = 1 " ;. Sin embargo, la versión CLI de PHP parece acceder a un caché APC diferente de la versión utilizada por Apache.

¿Es posible configurar APC para usar la misma caché para las invocaciones de CLI y web?

¿Fue útil?

Solución

No es posible. La única forma de lograr algo como lo que pides es usar algo como memcacheD. O ejecute lo que necesita para ejecutar su servidor web. ¿Qué está ejecutando CLI que no puede ejecutar a través de un script web con un cronjob?

Otros consejos

Puedes usar shm. Esta tecnología permite acceder a la memoria compartida de Unix. Puede poner alguna variable en shm y luego en otro scritp, incluso programado en otro idioma puede obtener las variables compartidas.

shm_put_var y shm_get_var.

Es más lento que APC, pero es más rápido que memcached, redis, etc.

Espero que te ayude, y lo siento por mi inglés ...

llame a su CLI como CGI /path-to/cgi-sys/php5.cgi /home/name/crons/engine.php

necesitaría un servidor web escrito en php: la memoria caché de APC se comparte solo mediante procesos secundarios bifurcados. Si tuviera un servidor web php, podría iniciar un cli maestro, init apc, bifurcar y cargar / ejecutar el servidor web en un proceso secundario, y bifurcar y ejecutar su script php cli en otro. Una especie de truco asqueroso, ¿eh? Bifurcar y require (), no creo que el caché apc sobreviviera a un exec ()

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