Lasciatemi dire che sono nuovo di FastCGI. Ho Apache di MAMP sulla mia macchina OS X. Il gestore PHP predefinito era Apache Handler 2.0
(libphp5.so). Volevo cambiare per FastCGI
e seguii la risposta qui: How to configure Apache to run PHP as FastCGI on Ubuntu 12.04 via terminal?Differenza tra FastCgiExternalServer e FastCgiServer in Apache FastCGI PHP?
ho aggiunto quanto segue alla fine del mio httpd.conf:
<IfModule mod_fastcgi.c>
AddHandler php5.fcgi .php
Action php5.fcgi /php5.fcgi
Alias /php5.fcgi /Applications/MAMP/fcgi-bin/php5.fcgi
FastCgiServer /Applications/MAMP/fcgi-bin/php5.fcgi -socket /Applications/MAMP/tmp/php-fcgi/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
#FastCgiExternalServer /Applications/MAMP/fcgi-bin/php5.fcgi -socket /Applications/MAMP/tmp/php-fcgi/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /Applications/MAMP/fcgi-bin>
Order allow,deny
Allow from all
</Directory>
</IfModule>
Tuttavia, come si può vedere, FastCgiExternalServer
sia commentata. Invece, ho dovuto usare FastCgiServer
causa altrimenti Apache mi stava dando i seguenti errori quando si cerca di richiedere una pagina:
[ven 6 mag 23:25:22 2016] [errore] [client :: 1] (2) Nessun file o directory di questo tipo: FastCGI: impossibile connettersi al server "/Applications/MAMP/fcgi-bin/php5.fcgi": connect() non riuscito
[Ven May 06 23:25:22 2016] [ errore] [client :: 1] FastCGI: intestazioni incompleti (0 byte) ricevuta dal server "/Applications/MAMP/fcgi-bin/php5.fcgi"
Ma /Applications/MAMP/fcgi-bin/php5.fcgi
esiste e il suo contenuto è:
#!/bin/bash
PHP_CGI=/Applications/MAMP/bin/php/php5.6.2/bin/php-cgi
exec $PHP_CGI
Qual è la differenza tra FastCgiServer
e FastCgiExternalServer
e perché FastCgiExternalServer
non ha funzionato nel mio caso, ma FastCgiServer
funzionato?
Se stai facendo PHP FastCGI nel 2016, guarda mod_proxy_fcgi e php-fpm invece di mod_fastcgi. – covener