Ho quasi finito di scrivere un server web conforme a HTTP/1.0 sotto Java (nessun utilizzo commerciale in quanto tale, è solo per divertimento) e fondamentalmente voglio includere il supporto PHP. Mi rendo conto che non è affatto un compito facile, ma penso che sarà un bel risultato.Come si interfaccia PHP con Apache?
Quindi voglio sapere come PHP si interfaccia esattamente con il server Web Apache (o con qualsiasi altro server Web), quindi posso imparare da esso e scrivere il mio wrapper PHP. Non deve essere necessariamente mod_php, non mi interessa scrivere un wrapper FastCGI, che a mia conoscenza è in grado di eseguire anche PHP.
Avrei pensato che tutto ciò di cui PHP ha bisogno è l'output che va al client (quindi può interpretare le parti PHP), la richiesta HTTP completa dal client (quindi può estrarre le variabili POST e così via) e il client nome host. E quindi basta prendere il codice PHP analizzato e scriverlo nel flusso di output. Probabilmente ci saranno più cose, ma in sostanza è così che avrei pensato che funzionasse.
Da quello che ho raccolto finora, apache2handler fornisce un'API che PHP utilizza per "connettersi" ad Apache. Immagino sia un'idea guardare il codice sorgente di apache2handler e php5apache2.dll o giù di lì, ma prima di farlo pensavo di chiedere prima a SO.
Se qualcuno ha più informazioni, esperienza o qualche tipo di specifica rilevante per questo, fatemelo sapere.
Grazie in anticipo!
Aha, questo ha molto senso. Grazie! Vedrò questo. Potrei solo provare a far funzionare l'approccio CGI e poi a guardare in FastCGI perché ho guardato le loro specifiche l'altro giorno, ma l'ho trovato molto confuso, forse stavo guardando nel posto sbagliato. –