Pagina 1 di 1

php e fpm

Inviato: gio 5 apr 2012, 9:55
da conraid
Visto la discussione su php 5.4 ed ora che è stato definito stabile e non più "experimental", è nata l'esigenza di discutere di php-fpm e della sua integrazione in un server LAMP. E della creazione di un pacchetto relativo

Inizio quindi io con il chiedere come configurare e se serve anche mod_fastcgi per apache

Re: php e fpm

Inviato: gio 5 apr 2012, 10:07
da ilmich
ho trovato questo link e pare che il modulo fastcgi è un requisito se si vuole usare php-fpm con apache

Re: php e fpm

Inviato: gio 5 apr 2012, 10:31
da rik70
Offtopic: Grazie per il topic :)

@miklos
Si, domande da fare ne avevo e ne ho parecchie, è che a furia di leggere mi son tolto almeno i dubbi necessari per far partire il tutto. Tranquillo che appena mi pianto su qualcosa ti vengo a disturbare :)

@conraid
Stessa cosa con Lighttpd, serve il modulo fastgi.

Questo è sufficiente nel mio caso:

Codice: Seleziona tutto

#lighttpd.conf
#CGI/FPM
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
			( "localhost" =>
				(
				  "socket" => "/percorso_del_socket_definito_in_php-fpm.conf" 
				)
			)
		)
Altri dettagli che forse possono essere utili.
Lo script per lanciare php-fpm l'ho modificato in modo da caricare il profilo php.ini da utilizzare.
Ad es. nel mio caso ho aggiunto/modificato:

Codice: Seleziona tutto

php_fpm_INI=/etc/lighttpd/php.ini

php_opts="--fpm-config $php_fpm_CONF --php-ini $php_fpm_INI"
Infine, sul mio php.ini ho dovuto aggiungere:

Codice: Seleziona tutto

extension_dir = "/usr/lib/php/extensions"
altrimenti non trovava mysqli e le altre estensioni.

P.s.
In php-fpm.conf quando si usa il socket unix, bisogna riempire i campi:
(edit: solo nel mio caso probabilmente, dato che uso utente e gruppo diversi da apache)

Codice: Seleziona tutto

listen.owner = [utente]
listen.group = [gruppo]

Re: php e fpm

Inviato: gio 5 apr 2012, 11:51
da masalapianta
conraid ha scritto: e se serve anche mod_fastcgi per apache
serve per forza, fastcgi è un protocollo che permette ad applicazioni web di comunicare con il web server e viceversa (solitamente con socket tcp o di dominio unix).
In sostanza hai un webserver che, anzichè tirare in piedi del codice da eseguire ad ogni chiamata (come avverrebbe con mod_php o qualunque normale cgi), utilizza mod_fastcgi per comunicare con delle applicazioni che stanno in piedi indipendentemente dalle chiamate che il webserver riceve dai client; a questo punto sorge spontanea la necessità di avere, sopra a php, qualcosa che gestisca le connessioni con mod_fastcgi (tramite libreria fastcgi), gestisca lo spawning dei processi php, ecc..; di questo si occupa php-fpm