GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Installation des neusten PHP 7 der neuesten Generation auf Debian 8 Jessie Linux

Einführung

Das aktuelle stabile Paket-Repository von Debian enthält möglicherweise nicht immer eine aktuelle Software, mit der es übereinstimmen muss
unsere Erwartungen. Dafür gibt es einen sehr guten Grund, wie z. B. ein stabiles System als Gegenleistung für die Ausführung modernster Software.

Die serverseitige Skriptsprache PHP ist keine Ausnahme! Zum
Zeitpunkt des Schreibens ist die aktuelle PHP-Version von Debian 5.6.29 während die neueste PHP-Quellversion 7.1.0 ist (da es überhaupt kein PHP 6 gibt).

Die Behauptungen der aktuellen PHP-Entwickler stellen PHP 7 in Sachen Geschwindigkeit vor PHP 5.6, wobei PHP 7 doppelt so schnell sein soll wie sein Vorgänger:

Dank der neuen Zend Engine 3.0 erzielen Ihre Apps eine bis zu 2-mal schnellere Leistung und einen um 50 % besseren Speicherverbrauch als PHP 5.6, sodass Sie mehr gleichzeitige Benutzer bedienen können, ohne
Hardware hinzuzufügen. PHP 7 wurde für die heutigen Workloads entwickelt und überarbeitet und ist die ultimative Wahl für Webentwickler von heute.

Referenz:zend.com/en/resources/php-7

Ziel

Ein Geschwindigkeitsvergleich zwischen PHP 5.6 und dem neuesten PHP 7.1.0 ist nicht Ziel dieses Artikels. Das Ziel ist jedoch, die neueste PHP 7-Version auf dem Debian 8-System zu installieren. Zusätzlich werden wir
PHP-FPM (FastCGI Process Manager) installieren. Diese Anleitung bietet zwei mögliche Installationen.

Zuerst wird die Anleitung compile-php-debian verwenden Skript verfügbar unter github.com/linuxconfig/compile-php-debian um die Installation von PHP 7 zu automatisieren und später wird gezeigt, wie man PHP 7 manuell installiert.

Anforderungen

  • Privilegierter Zugriff auf Ihr Debian-Linux-System als root oder über sudo Befehl ist erforderlich

Schwierigkeit

MITTEL

Konventionen

  • # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
  • $ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Anleitung

PHP5-Pakete entfernen

Wenn Sie bereits PHP5 auf Ihrem System installiert haben, müssen Sie diese vor der Neuinstallation von PHP 7 entfernen. Um dies zu tun, listen Sie alle php auf zugehöriges Paket auf Ihrem System:

# dpkg -l | grep -E "^ii.*php" | cut -d " " -f3
libapache2-mod-php5
php5
php5-cli
php5-common
php5-json
php5-readline

Der folgende Linux-Befehl entfernt alle Pakete, die in der obigen Befehlsausgabe aufgeführt sind:

# REMOVE=$(dpkg -l | grep -E "^ii.*php" | cut -d " " -f3)
# dpkg -P $REMOVE

Skriptgesteuerte automatische Installation

Die folgende automatische Skriptinstallation führt alle notwendigen Schritte aus, um die vom Benutzer ausgewählte PHP 7-Version zu kompilieren und zu installieren, und installiert auch den PHP-FPM-Daemon. Beginnen Sie mit dem Klonen von compile-php-debian Skript:

$ git clone https://github.com/linuxconfig/compile-php-debian.git

Navigieren Sie als Nächstes zu compile-php-debian Verzeichnis:

$ cd compile-php-debian

Entscheiden Sie nun einfach, welche PHP 7-Version Sie installieren möchten und geben Sie Ihre gewählte Versionsnummer als Argument für install_php.sh ein Skript. Um beispielsweise PHP Version 7.0.8 zu installieren, geben Sie Folgendes ein:

# ./install_php.sh 7.0.8
FOR PHP VERSION 7.1.0 RUN
# ./install_php.sh 7.1.0 

Die Installation kann einige Zeit in Anspruch nehmen. Sobald Sie fertig sind, starten Sie den PHP-FPM-Daemon, indem Sie service ausführen Befehl:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Der PHP-FPM-Daemon lauscht jetzt auf einem localhost Portnummer 9000 . Sie können auch versuchen, sich mit cgi-fcgi direkt mit dem PHP-FPM-Daemon zu verbinden Befehl gefunden in libfcgi0ldbl Paket:

# cgi-fcgi -bind -connect 127.0.0.1:9000
X-Powered-By: PHP/7.1.0
Content-type: text/html; charset=UTF-8

Damit ist Ihre PHP 7-Installation auf Ihrem Debain 8-Linux-System abgeschlossen.

Manuelle Installation

Installationsvoraussetzungen

Beginnen wir mit der Installation aller Voraussetzungen, um die gängigsten PHP-Kompilierungsoptionen zu erfüllen:

# apt-get install autoconf bison build-essential git-core libbz2-dev libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev libreadline-dev libssl-dev 
libxml2-dev pkg-config

PHP-Quellcode-Download

Der wahrscheinlich einfachste Weg, um an den PHP-Quellcode zu kommen, besteht darin, das Repository von PHP auf GitHub zu klonen. Führen Sie den folgenden Linux-Befehl aus, um das PHP-Quellverzeichnis zu klonen:

$ git clone https://github.com/php/php-src.git

Einmal der git clone Der Vorgang ist abgeschlossen, Sie erhalten einen neuen Verzeichnisnamen php-src .

Eine andere Alternative besteht darin, einen Tarball einer bestimmten PHP-Version
zu erhalten, die Sie installieren möchten, indem Sie sie direkt von http://php.net/downloads.php herunterladen . Der Vorteil in diesem Fall ist eine minimale Anforderung an die Downloadgröße. Sie können jedoch nicht
selektiv verschiedene Versionen für mehrere Bereitstellungen auswählen.

Zusammenstellung des PHP-Quellcodes

In diesem Stadium sind wir bereit, eine PHP-Quellcode-Kompilierung durchzuführen. Navigieren Sie zu einem zuvor heruntergeladenen php-src Verzeichnis:

$ cd php-src

Als nächstes entscheiden Sie, welche PHP-Version Sie kompilieren und installieren möchten. Führen Sie das folgende git aus Befehl, um alle verfügbaren PHP 7-Versionen aufzulisten:

$ git branch -a | grep PHP-7
  remotes/origin/PHP-7.0
  remotes/origin/PHP-7.0.0
  remotes/origin/PHP-7.0.1
  remotes/origin/PHP-7.0.10
  remotes/origin/PHP-7.0.11
  remotes/origin/PHP-7.0.12
  remotes/origin/PHP-7.0.13
  remotes/origin/PHP-7.0.14
  remotes/origin/PHP-7.0.2
  remotes/origin/PHP-7.0.3
  remotes/origin/PHP-7.0.4
  remotes/origin/PHP-7.0.5
  remotes/origin/PHP-7.0.6
  remotes/origin/PHP-7.0.7
  remotes/origin/PHP-7.0.8
  remotes/origin/PHP-7.0.9
  remotes/origin/PHP-7.1
  remotes/origin/PHP-7.1.0
  remotes/origin/PHP-7.1.0RC1
  remotes/origin/PHP-7.1.0RC2
  remotes/origin/PHP-7.1.0RC3
  remotes/origin/PHP-7.1.0beta1
  remotes/origin/PHP-7.1.0beta2
  remotes/origin/PHP-7.1.0beta3

Verwenden Sie git checkout Befehl, um zu Ihrem gewünschten PHP-Versionszweig zu wechseln, den Sie für die Kompilierung verwenden möchten. Beispiel:

$ git checkout PHP-7.1.0
Branch PHP-7.1.0 set up to track remote branch PHP-7.1.0 from origin.
Switched to a new branch 'PHP-7.1.0'

Erstellen Sie als Nächstes ein Verzeichnis, das als Installationsziel verwendet werden soll. In unserem Fall wird es /usr/local/php-7.1.0 sein :

# mkdir /usr/local/php-7.1.0

und geben Sie alle Kompilierungszeichenfolgen an. Achten Sie besonders auf das --prefix und --with-config-file-scan-dir Konfigurationsstrings, die Installations- und Konfigurationseinstellungen
definieren. Im Folgenden finden Sie eine Liste der gebräuchlichsten PHP-Kompilierungsoptionen.

Fühlen Sie sich frei, die Liste zu aktualisieren, um sie Ihren Bedürfnissen anzupassen. Abhängig von Ihrer Auswahl müssen Sie möglicherweise zusätzliche
Voraussetzungen installieren. Kopieren Sie den folgenden Text und fügen Sie ihn in Ihr Terminal ein, gefolgt von ENTER:

CONFIGURE_STRINGS="--enable-bcmath \
                   --enable-calendar \
                   --enable-dba \
                   --enable-exif \
                   --enable-filter \
                   --enable-fpm \
                   --enable-ftp \
                   --enable-gd-native-ttf \
                   --enable-intl \
                   --enable-mbstring \
                   --enable-mysqlnd \
                   --enable-pcntl \
                   --enable-shmop \
                   --enable-simplexml \
                   --enable-soap \
                   --enable-sockets \
                   --enable-sysvmsg \
                   --enable-sysvsem \
                   --enable-sysvshm \
                   --enable-wddx \
                   --enable-xmlreader \
                   --enable-xmlwriter \
                   --enable-zip \
                   --prefix=/usr/local/php-7.1.0 \
                   --with-bz2 \
                   --with-config-file-scan-dir=/usr/local/php-7.1.0/etc/conf.d \
                   --with-curl \
                   --with-fpm-group=www-data \
                   --with-fpm-user=www-data \
                   --with-freetype-dir \
                   --with-gd \
                   --with-gettext \
                   --with-jpeg-dir \
                   --with-mcrypt \
                   --with-mhash \
                   --with-mysqli=mysqlnd \
                   --with-mysql-sock=/var/run/mysqld/mysqld.sock \
                   --with-openssl \
                   --without-pear \
                   --with-pdo-mysql=mysqlnd \
                   --with-pdo-sqlite \
                   --with-png-dir \
                   --with-pspell \
                   --with-readline \
                   --with-sqlite3 \
                   --with-zlib"

Das obige wird CONFIGURE_STRINGS setzen Shell-Variable, die alle Ihre PHP-Kompilierungsoptionen enthält. Als nächstes müssen wir unsere Konfigurations- und Makefiles erstellen. Führen Sie dazu Folgendes aus:

$ ./buildconf --force
Forcing buildconf
Removing configure caches
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in

Als nächstes führen Sie die Kompilierungskonfiguration durch:

$ ./configure $CONFIGURE_STRINGS

Wenn durch das obige configure keine Fehler erzeugt wurden Befehl, dann ist es an der Zeit, die Kompilierung durch Ausführen eines make durchzuführen Befehl:

$ make
....
Build complete.
Don't forget to run 'make test'.

Wenn die Kompilierung des PHP-Quellcodes abgeschlossen ist, führen Sie optional make test aus Befehl oder führen Sie make install aus Befehl, um alle zuvor kompilierten Binärdateien in ihre
relevanten Verzeichnisse zu installieren:

# make install
Installing shared extensions:     /usr/local/php-7.1.0/lib/php/extensions/no-debug-non-zts-20160303/
Installing PHP CLI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CLI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing PHP FPM binary:        /usr/local/php-7.1.0/sbin/
Installing PHP FPM config:        /usr/local/php-7.1.0/etc/
Installing PHP FPM man page:      /usr/local/php-7.1.0/php/man/man8/
Installing PHP FPM status page:   /usr/local/php-7.1.0/php/php/fpm/
Installing phpdbg binary:         /usr/local/php-7.1.0/bin/
Installing phpdbg man page:       /usr/local/php-7.1.0/php/man/man1/
Installing PHP CGI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CGI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing build environment:     /usr/local/php-7.1.0/lib/php/build/
Installing header files:           /usr/local/php-7.1.0/include/php/
Installing helper programs:       /usr/local/php-7.1.0/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php-7.1.0/php/man/man1/
  page: phpize.1
  page: php-config.1
/php-src/build/shtool install -c ext/phar/phar.phar /usr/local/php-7.1.0/bin
ln -s -f phar.phar /usr/local/php-7.1.0/bin/phar
Installing PDO headers:           /usr/local/php-7.1.0/include/php/ext/pdo/

Alles erledigt. PHP 7.1.0 ist jetzt installiert. Ausführung bestätigen:

$ /usr/local/php-7.1.0/bin/php -v
PHP 7.1.0 (cli) (built: Jan  2 2017 09:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

Installation des FastCGI-Prozessmanagers

In diesem Abschnitt werden wir PHP-FPM installieren, das als Front für die Installation mit Webservern wie Nginx oder Apache verwendet werden soll. Erstellen Sie zuerst einen symbolischen Link von neu kompiliertem
/usr/local/php-$version/sbin/php-fpm Binary, um unsere Installation sauberer zu machen:

# ln -s /usr/local/php-7.1.0/sbin/php-fpm /usr/local/php-7.1.0/sbin/php-7.1.0-fpm

Noch im php-src Verzeichnis, richten Sie eine Standard-php.ini ein Konfiguration:

# cp php.ini-production /usr/local/php-7.1.0/lib/php.ini

PHP-FPM-Daemon-Konfigurationsdatei aktivieren:

# mv /usr/local/php-7.1.0/etc/php-fpm.d/www.conf.default /usr/local/php-7.1.0/etc/php-fpm.d/www.conf

Verwenden Sie den Texteditor und erstellen Sie eine neue /usr/local/php-7.1.0/etc/php-fpm.conf config-Datei mit folgendem Inhalt:

[global]
pid = /var/run/php7-fpm.pid
error_log = /var/log/php7-fpm.log
include=/usr/local/php-7.1.0/etc/php-fpm.d/*.conf

Zusätzliche PHP-Module aktivieren

Fügen Sie alle Modulanweisungen, die Sie aktivieren möchten, in Ihre php.ini ein Konfigurationsdatei. Um beispielsweise das OpCache-PHP-Modul von Zend zu aktivieren, führen Sie Folgendes aus:

# echo "zend_extension=opcache.so" >> /usr/local/php-7.1.0/lib/php.ini

Konfigurieren Sie das PHP7-FPM-init.d-Skript

Fügen Sie zunächst eine folgende modifizierte php7-fpm.init ein script in /etc/init.d/ Verzeichnis:

# wget -qO /etc/init.d/php7-fpm https://linuxconfig.org/images/php7-fpm.init

Falls Sie eine andere PHP-Version als 7.1.0 installiert haben Verwenden Sie Ihren Texteditor und ändern Sie die folgenden Skriptvariablen, damit sie zu Ihrer installierten PHP VERSION passen :

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/php-VERSION/sbin
NAME=php-VERSION-fpm
DAEMON=/usr/local/php-VERSION/sbin/$NAME
CONFFILE=/usr/local/php-VERSION/etc/php-fpm.conf

Erstellen Sie zuletzt /etc/init.d/php7-fpm ausführbar und führen Sie udpate-rc.d aus Befehl:

# chmod +x /etc/init.d/php7-fpm
# update-rc.d php7-fpm defaults

Starten Sie den PHP-FPM-Daemon

Jetzt sollten Sie in der Lage sein, den PHP-FPM-Daemon einfach zu starten, indem Sie service ausführen Befehl:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Der PHP-FPM-Daemon lauscht jetzt auf einem localhost Portnummer 9000 .


Debian
  1. So installieren Sie PHP Composer unter Debian Linux

  2. Installieren Sie die neueste Eclipse-Java-IDE auf Debian 8 und Ubuntu 16.04 Linux

  3. So installieren Sie die neueste Eclipse-Java-IDE unter Debian 9 Stretch Linux

  4. So installieren Sie die neueste Mesa-Version unter Debian 9 Stretch Linux

  5. So integrieren Sie den neuesten Firefox in Gnome 3 auf Debian Jessie

RoundCube-Webmail-Installation auf Debian 8 (Jessie)

PSAD-Installation und -Konfiguration unter Debian 8 (Jessie)

Samba-Server-Installation auf Debian 8 (Jessie)

So installieren Sie das neueste MySQL in Debian 10

VERGLEICH VON DEBIAN VS. ARCH LINUX

So installieren Sie das neueste PHP 8 auf Debian 10