Domanda

Sto usando APC per memorizzare nella cache le variabili utente (con i comandi apc_store / apc_fetch). Ho anche abilitato APC per l'interfaccia della riga di comando con l'opzione " apc.enable_cli = 1 " ;. Tuttavia, la versione CLI di PHP sembra accedere a una cache APC diversa dalla versione utilizzata da Apache.

È possibile configurare APC per utilizzare la stessa cache sia per CLI che per invocazioni web?

È stato utile?

Soluzione

Non possibile. L'unico modo per realizzare qualcosa di simile a quello che stai chiedendo è usare qualcosa come memcacheD. O esegui ciò di cui hai bisogno per eseguire il tuo server web. Cosa sta eseguendo CLI che non è possibile eseguire tramite uno script Web con un cronjob?

Altri suggerimenti

Puoi usare shm. Questa tecnologia si presta ad accedere alla memoria condivisa Unix. Puoi mettere una variabile in shm e poi in un altro scritp, anche programmato in un'altra lingua puoi ottenere le variabili condivise.

shm_put_var e shm_get_var.

È più lento di APC, ma è più veloce di memcached, redis, ecc.

Spero che ti possa aiutare, e mi dispiace per il mio inglese ....

chiama la tua CLI come CGI /path-to/cgi-sys/php5.cgi /home/name/crons/engine.php

avresti bisogno di un server web scritto in php - la cache APC è condivisa solo da processi figlio biforcati. Se avessi un webserver php, potresti avviare un master cli, init apc, fork e caricare / eseguire il web server in un processo figlio, e fork ed eseguire il tuo script php cli in un altro. Una specie di brutto scherzo, eh. Fork e request (), non credo che la cache apc sopravviverebbe a un exec ()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top