Domanda

Invece di iniziare nuove istanze di uno script PHP quando si riceve una richiesta HTTP, c'è qualche modo per uno script PHP per gestire richieste multiple?

È stato utile?

Soluzione

Non ho visto un'implementazione per le richieste HTTP per questo. Tutto quello che ho potuto realizzare è che il rilascio di tutte le richieste di tornare. Si potrebbe fare questo in linea di comando dal fork del processo e inviarlo allo sfondo. Oppure si potrebbe utilizzare Gearman (lavoro distribuita) per questo.

Altri suggerimenti

PHP è costruito attorno al concetto di "Azione Nothing" che vi dà la possibilità di caricare l'equilibrio e ridimensionare l'applicazione migliore da avere una rete distribuita. Quindi, "no" questo cant essere fatto. Se immaginate i costi di iniziazione sono alti allora forse regolare l'architettura concettualmente 'della cache dei vostri oggetti / dati / vista quanto più è possibile. Utilizzare serialize () o qualcosa del genere.

Se si effettua il file un server HTTP ed eseguirlo come un processo, allora sì.

Se si ottiene attraversava Apache e mod_php, no.

(perché mai vorresti che in ogni caso?)

Per quanto ne so, non c'è un modo per farlo. cosa più vicina che posso pensare a sta usando una cache php codice operativo come (xcache o APC). Coloro che memorizza nella cache il codice per l'esecuzione di script più veloce. Credo che ogni richiesta avrà la propria istanza dello script.

Quello che vogliamo è per i dati della cache.

Lo script php deve semplicemente controllare per vedere se ci sono dati validi per la richiesta nella cache. Se no, allora fate la vostra lettura del database, aggiornare la cache, e restituire i risultati per l'utente.

Vorrei suggerire esaminando varie librerie di caching e con attenzione considerando come si scalare la cache. Un punto di partenza è Zend_Cache, possibilmente con memcached sul back-end.

Gli script che gestiscono le richieste HTTP possono ottenere i dati da un piccolo demone PHP usando i socket.

Qui è una libreria utile per demoni PHP: http://github.com/kvz/system_daemon

E alcuni documentazione:

http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/

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