Installieren Sie php5-fpm auf Debian Squeeze

Installieren Sie php5-fpm auf Debian Squeeze

Ich habe auf viele Arten versucht, php5-fpm in Debian Squeeze zu installieren, aber es hat nicht geklappt. Ich habe mich gefragt, ob ich php5.3.3 auf eine höhere Version aktualisieren muss, weil es auf einer niedrigeren Version als php5.4 nicht zu funktionieren scheint.

Ich habe keine Ahnung, ob Php5-fpm auf der Debian Squeeze-Basis von PHP5.3 installiert werden kann oder nicht??

Ich habe dazu diese Befehlszeile verwendet, aber es wurde ein Fehler zurückgegeben:

apt-get install php5-fpm

jede Hilfe ist willkommen!

Antwort1

PHP5-FPM ist unter Debian als Paket von Wheezy verfügbar:Debian-Paketliste. Es sind auch keine Backports verfügbar, Sie müssen also auf Wheezy aktualisieren, wenn Sie den Paketmanager weiterhin verwenden möchten.

Es handelt sich um eine Unterstützung ab PHP 5.3.3, daher ist dieser Teil in Ordnung, hilft Ihnen aber im Moment nicht weiter.

Alternativer Weg hinzugefügt: Um PHP-CGI zu verwenden, können Sie Folgendes tun:

apt-get install php5-cgi

Erstellen Sie eine Init-Datei und richten Sie sie so ein, dass sie beim Systemstart gestartet wird. Das folgende Beispiel startet 10 Worker und hört zu

#!/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

Fügen Sie dies in NGINX im Konfigurationsteil für Ihren PHP-Teil hinzu, um alle Anfragen an den lokalen Host auf Port 9000 umzuleiten.

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;
}

Ich habe eine Datei in „/etc/nginx/fastcgi_params“ mit allen anderen FastCGI-Parametern. Dies ist der Inhalt, aber er kann frei geändert werden.

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;

verwandte Informationen