Dopo aver fatto qualche ricerca ho finito con le conclusioni di sotto.
E 'importante considerare come server PHP sono impostati per essere in grado di ottenere intuizioni in it.For configurazione del server e PHP sul proprio, ci potrebbero essere tre possibilità:
1) Utilizzo di PHP come modulo (Per molti server PHP ha una diretta interfaccia del modulo (chiamato anche SAPI))
2) CGI
3) FastCGI
Considerando caso # 1 PHP come modulo, in questo caso il modulo è integrato con il server web stesso e ora mette la palla interamente sul server web come gestisce le richieste in termini di processo di forking, usando thread, pool di thread, ecc.
Per il modulo, Apache mod_php sembra essere molto comunemente usato, e l'Apache stesso gestisce le richieste utilizzando processi e thread in due modelli di cui alla presente answer
Prefork MPM utilizza più processi secondari con un filo ciascuno e ogni processo gestisce una connessione alla volta.
Worker MPM utilizza processi figlio multipli con molti thread ciascuno. Ogni thread gestisce una connessione alla volta.
Ovviamente, altri server possono adottare altri approcci ma, non ne sono a conoscenza.
Per # 2 e # 3, il server Web e la parte PHP vengono gestiti in processi diversi e il modo in cui un server Web gestisce la richiesta e il modo in cui viene elaborato dall'applicazione (parte PHP) varia. Ad esempio, NGINX può gestire la richiesta utilizzando l'I/O asincrono non bloccante e Apache può gestire le richieste usando i thread, ma, il modo in cui la richiesta verrebbe elaborata da FastCGI o dall'applicazione CGI è un aspetto diverso come descritto di seguito. Entrambi gli aspetti, ovvero il modo in cui il server Web gestisce le richieste e il modo in cui viene elaborata la parte PHP, sono importanti per le prestazioni dei server PHP.
Considerando il n. 2, il protocollo CGI ha reso il server Web e l'applicazione (PHP) indipendenti l'uno dall'altro e il protocollo CGI richiede che l'applicazione e il server web vengano gestiti utilizzando processi diversi e il protocollo non promuove il riutilizzo dello stesso processo, che a sua volta significa che è necessario un nuovo processo per gestire ogni richiesta.
Considerando il numero 3, il protocollo FastCGI supera la limitazione del CGI consentendo il riutilizzo del processo. Se si seleziona IIS FastCGI link FastCGI risolve i problemi di prestazioni inerenti al CGI fornendo un meccanismo per riutilizzare un singolo processo più e più volte per molte richieste.
FastCGI mantiene la compatibilità con le librerie non thread-safe da fornendo un pool di processi riutilizzabili e garantire che ogni processo gestisce solo una richiesta alla volta.
Detto questo, in caso di FastCGI sembra che il server gestisce un pool di processi e utilizza il pool di processi per gestire le richieste client in ingresso e dal momento che, la piscina processo non richiede filo di controllo di sicurezza, fornisce una buona prestazione.
[http://stackoverflow.com/questions/1623914/what-is-thread-safe-or-non-thread-safe-in-php], penso che questo sia quello che stai cercando – anwerj