GNU/Linux >> Linux Esercitazione >  >> Debian

Installazione dell'ultimo sanguinante PHP 7 su Debian 8 Jessie Linux

Introduzione

L'attuale repository di pacchetti stabili di Debian potrebbe non contenere sempre un software aggiornato per essere in linea con
le nostre aspettative. C'è un'ottima ragione per questo, come un sistema stabile come compromesso per l'esecuzione di software all'avanguardia.

Il linguaggio di scripting lato server PHP non è un'esenzione! Al
al momento della scrittura, l'attuale versione PHP di Debian è 5.6.29 mentre l'ultima versione del sorgente PHP è 7.1.0 (dato che non esiste affatto PHP 6).

Le affermazioni dell'attuale sviluppatore PHP mettono PHP 7 davanti a PHP 5.6 in termini di velocità, dove PHP 7 dovrebbe essere due volte più veloce del suo predecessore:

Grazie al nuovo Zend Engine 3.0, le tue app ottengono prestazioni fino a 2 volte più veloci e un consumo di memoria migliore del 50% rispetto a PHP 5.6, consentendoti di servire più utenti simultanei senza aggiungere hardware
. Progettato e rifattorizzato per i carichi di lavoro odierni, PHP 7 è la scelta definitiva per gli sviluppatori web di oggi.

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

Obiettivo

Confrontare una velocità tra PHP 5.6 e l'ultimo PHP 7.1.0 non è un obiettivo di questo articolo. Tuttavia, l'obiettivo è ottenere l'ultima versione di PHP 7 installata sul sistema Debian 8. Inoltre
installeremo PHP-FPM (FastCGI Process Manager). Questa guida offrirà due possibili installazioni.

Per prima cosa, la guida utilizzerà compile-php-debian script disponibile su github.com/linuxconfig/compile-php-debian per automatizzare l'installazione di PHP 7 e successivamente mostrerà come installare PHP 7 manualmente.

Requisiti

  • Accesso privilegiato al tuo sistema Debian Linux come root o tramite sudo il comando è richiesto

Difficoltà

MEDIO

Convenzioni

  • # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
  • $ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Istruzioni

Rimuovi i pacchetti PHP5

Se hai già installato PHP5 sul tuo sistema, devi rimuoverli prima della nuova installazione di PHP 7. Per farlo, elenca tutti i php pacchetto correlato sul tuo sistema:

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

Il seguente comando linux rimuoverà tutti i pacchetti elencati dall'output del comando precedente:

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

Installazione automatica con script

La seguente installazione automatica tramite script esegue tutti i passaggi necessari per compilare e installare la versione PHP 7 selezionata dall'utente, nonché installare il demone PHP-FPM. Inizia clonando compile-php-debian sceneggiatura:

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

Quindi, vai a compile-php-debian directory:

$ cd compile-php-debian

Ora decidi semplicemente quale versione di PHP 7 desideri installare e inserisci il numero di versione selezionato come argomento per install_php.sh sceneggiatura. Ad esempio, per installare PHP versione 7.0.8 immettere:

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

L'installazione potrebbe richiedere del tempo. Una volta terminato, avvia il demone PHP-FPM eseguendo service comando:

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

Il demone PHP-FPM è ora in ascolto su un localhost numero di porta 9000 . Puoi anche provare a connetterti al demone PHP-FPM direttamente usando cgi-fcgi comando trovato all'interno di libfcgi0ldbl pacchetto:

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

Questo completa l'installazione di PHP 7 sul tuo sistema Linux Debain 8.

Installazione manuale

Installazione dei prerequisiti

Iniziamo con l'installazione di tutti i prerequisiti per adattarsi alle opzioni di compilazione PHP più comuni:

# 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

Download del codice sorgente PHP

Probabilmente il modo più semplice per ottenere il codice sorgente di PHP è clonare il repository di PHP su GitHub. Esegui il seguente comando linux per clonare la directory sorgente di PHP:

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

Una volta che il git clone l'operazione è terminata ti verrà lasciato con un nuovo nome di directory php-src .

Un'altra alternativa è ottenere un tarball di una specifica versione di PHP che
desideri installare scaricandola direttamente da http://php.net/downloads.php . Il vantaggio in questo caso è un requisito minimo di dimensione del download. Tuttavia, non potrai scegliere
versioni selettivamente diverse per distribuzioni multiple.

Compilazione del codice sorgente PHP

A questo punto siamo pronti per eseguire una compilazione del codice sorgente PHP. Passa a un php-src precedentemente scaricato directory:

$ cd php-src

Quindi, decidi quale versione di PHP desideri compilare e installare. Esegui il seguente git comando per elencare tutte le versioni di PHP 7 disponibili:

$ 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

Usa git checkout comando per passare al ramo della versione PHP che desideri utilizzare per la compilazione. Esempio:

$ 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'

Quindi, crea una directory da utilizzare come destinazione dell'installazione. Nel nostro caso sarà /usr/local/php-7.1.0 :

# mkdir /usr/local/php-7.1.0

e specificare tutte le stringhe di compilazione. Prendi nota del --prefix e --with-config-file-scan-dir stringhe di configurazione che definiscono l'installazione e la configurazione
impostazioni. Di seguito è riportato un elenco delle opzioni di compilazione PHP più comuni.

Sentiti libero di aggiornare l'elenco in base alle tue esigenze. A seconda della selezione, potrebbe essere necessario installare ulteriori
prerequisiti. Copia e incolla il testo sotto nel tuo terminale seguito da INVIO:

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"

Quanto sopra imposterà CONFIGURE_STRINGS variabile shell per contenere tutte le opzioni di compilazione PHP. Successivamente, dobbiamo creare il nostro configure e Makefiles. Per farlo, esegui:

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

Quindi, esegui la configurazione della compilazione:

$ ./configure $CONFIGURE_STRINGS

Se non sono stati prodotti errori da configure sopra comando, quindi è il momento di eseguire la compilazione eseguendo un make comando:

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

Una volta terminata la compilazione, se il codice sorgente PHP è terminato, esegui opzionalmente make test comando o esegui make install comando per installare tutti i binari precedentemente compilati nelle loro
directory rilevanti:

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

Tutto fatto. PHP 7.1.0 è ora installato. Per confermare esegui:

$ /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

Installazione di FastCGI Process Manager

In questa sezione installeremo PHP-FPM da utilizzare come front per l'installazione con server web come Nginx o Apache. Innanzitutto, crea un collegamento simbolico di
/usr/local/php-$version/sbin/php-fpm appena compilato binario per rendere ordinata la nostra installazione:

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

Sempre nel php-src directory, imposta un php.ini predefinito configurazione:

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

Abilita il file di configurazione del demone PHP-FPM:

# 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

Usa l'editor di testo e crea un nuovo /usr/local/php-7.1.0/etc/php-fpm.conf config con il seguente contenuto:

[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

Abilita moduli PHP aggiuntivi

Inserisci tutte le direttive del modulo che desideri abilitare nel tuo php.ini file di configurazione. Ad esempio, per abilitare il modulo PHP OpCache di Zend, esegui:

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

Configura lo script PHP7-FPM init.d

Per prima cosa, inserisci un seguente php7-fpm.init modificato script in /etc/init.d/ directory:

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

Nel caso in cui tu abbia installato una versione diversa di PHP diversa da 7.1.0 usa il tuo editor di testo e modifica le seguenti variabili di script per adattarle alla VERSION PHP installata :

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

Infine, crea /etc/init.d/php7-fpm eseguibile ed esegui udpate-rc.d comando:

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

Avvia il demone PHP-FPM

Ora dovresti essere in grado di avviare semplicemente il demone PHP-FPM eseguendo service comando:

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

Il demone PHP-FPM è ora in ascolto su un localhost numero di porta 9000 .


Debian
  1. Come installare PHP Composer su Debian Linux

  2. Installa l'ultimo Eclipse Java IDE su Debian 8 e Ubuntu 16.04 Linux

  3. Come installare l'ultimo IDE Java di Eclipse su Debian 9 Stretch Linux

  4. Come installare l'ultima versione di Mesa su Debian 9 Stretch Linux

  5. Come installare i driver NVIDIA più recenti su Debian 9 Stretch Linux

Installazione webmail RoundCube su Debian 8 (Jessie)

Installazione e configurazione PSAD su Debian 8 (Jessie)

Installazione del server Samba su Debian 8 (Jessie)

Come installare l'ultimo MySQL in Debian 10

CONFRONTO TRA DEBIAN VS ARCH LINUX

Come installare l'ultimo PHP 8 su Debian 10