
Intenté de muchas maneras instalar php5-fpm en Debian squeeze, pero no pude. Me preguntaba si tengo que actualizar php5.3.3 a una versión superior porque no parece funcionar en versiones inferiores a php5.4.
No tengo idea de si Php5-fpm se puede instalar en la base Debian squeeze php5.3 o no.
Utilicé esta línea de recomendación para hacerlo, pero devolví un error:
apt-get install php5-fpm
¡Cualquier ayuda es apreciada!
Respuesta1
PHP5-FPM está disponible como paquete en Debian desde Wheezy:Lista de paquetes de Debian. Tampoco hay backports disponibles, por lo que deberás actualizar a Wheezy si quieres seguir usando el administrador de paquetes.
Es compatible con PHP 5.3.3, por lo que esa parte está bien, pero no te ayudará en este momento.
Forma alternativa agregada: Para usar PHP-CGI puedes hacer lo siguiente:
apt-get install php5-cgi
Cree un archivo de inicio y configúrelo para que comience con el inicio del sistema. El siguiente ejemplo lanzará 10 trabajadores y escuchará o
#!/bin/bash
### BEGIN INIT INFO
# Provides: php-fcgi
# Required-Start: $nginx
# Required-Stop: $nginx
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts php over fcgi
# Description: starts php over fcgi
### END INIT INFO
(( EUID )) && echo .You need to have root priviliges.. && exit 1
BIND=127.0.0.1:9000
USER=www-data
PHP_FCGI_CHILDREN=10
PHP_FCGI_MAX_REQUESTS=10000
PHP_CGI=/usr/bin/php-cgi
PHP_CGI_NAME=`basename $PHP_CGI`
PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
RETVAL=0
start() {
echo -n "Starting PHP FastCGI: "
start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
RETVAL=$?
echo "$PHP_CGI_NAME."
}
stop() {
echo -n "Stopping PHP FastCGI: "
killall -q -w -u $USER $PHP_CGI
RETVAL=$?
echo "$PHP_CGI_NAME."
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
en NGINX agregue esto en la parte de configuración de su parte PHP para redirigir todas las solicitudes a localhost en el puerto 9000.
location ~ \.php$ {
# Filter out arbitrary code execution
location ~ \..*/.*\.php$ {return 404;}
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}
Obtuve un archivo en '/etc/nginx/fastcgi_params' con todos los demás parámetros fastcgi. Este es el contenido, pero se puede cambiar libremente.
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;