GNU/Linux >> Znalost Linux >  >> Debian

Instalace nejnovější verze PHP 7 na Debian 8 Jessie Linux

Úvod

Aktuální úložiště stabilních balíčků Debianu nemusí vždy obsahovat aktuální software, který by byl v souladu s
naše očekávání. Existuje pro to velmi dobrý důvod, například stabilní systém jako kompromis za provozování nekvalitního softwaru.

Skriptovací jazyk PHP na straně serveru není výjimkou! V
době psaní aktuální verze PHP Debianu je 5.6.29 zatímco nejnovější vydání zdrojového kódu PHP je 7.1.0 (vzhledem k tomu, že neexistuje žádné PHP 6).

Tvrzení současného vývojáře PHP staví PHP 7 před PHP 5.6, pokud jde o rychlost, kde má být PHP 7 dvakrát rychlejší než jeho předchůdce:

Díky novému Zend Engine 3.0 mají vaše aplikace až 2x vyšší výkon a o 50 % lepší spotřebu paměti než PHP 5.6, což vám umožňuje obsluhovat více souběžných uživatelů bez přidání jakéhokoli
hardwaru. PHP 7, navržené a upravené pro dnešní pracovní zátěže, je dnes nejlepší volbou pro webové vývojáře.

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

Cíl

Porovnat rychlost mezi PHP 5.6 a nejnovější PHP 7.1.0 není cílem tohoto článku. Cílem je však nainstalovat nejnovější verzi PHP 7 na systém Debian 8. Dále
nainstalujeme PHP-FPM (FastCGI Process Manager). Tato příručka nabídne dvě možné instalace.

Nejprve bude průvodce používat compile-php-debian skript dostupný na github.com/linuxconfig/compile-php-debian pro automatizaci instalace PHP 7 a později se ukáže, jak nainstalovat PHP 7 ručně.

Požadavky

  • Privilegovaný přístup k vašemu systému Debian Linux jako root nebo přes sudo je vyžadován příkaz

Obtížnost

STŘEDNÍ

Konvence

  • # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
  • $ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Pokyny

Odstranit balíčky PHP5

Pokud již máte na svém systému nainstalované PHP5, musíte je před novou instalací PHP 7 odstranit. Chcete-li tak učinit pro seznam všech php související balíček ve vašem systému:

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

Následující linuxový příkaz odstraní všechny balíčky uvedené ve výše uvedeném výstupu příkazu:

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

Skriptovaná automatická instalace

Následující skriptovaná automatická instalace provede všechny potřebné kroky ke kompilaci a instalaci uživatelem vybrané verze PHP 7 a také nainstaluje démona PHP-FPM. Začněte klonováním compile-php-debian skript:

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

Dále přejděte na compile-php-debian adresář:

$ cd compile-php-debian

Nyní se jednoduše rozhodněte, jakou verzi PHP 7 chcete nainstalovat, a zadejte číslo vybrané verze jako argument pro install_php.sh skript. Například pro instalaci PHP verze 7.0.8 zadejte:

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

Instalace může nějakou dobu trvat. Po dokončení spusťte PHP-FPM Daemon spuštěním service příkaz:

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

Démon PHP-FPM nyní naslouchá na localhost číslo portu 9000 . Můžete se také pokusit připojit k démonu PHP-FPM přímo pomocí cgi-fcgi příkaz nalezený v libfcgi0ldbl balíček:

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

Tím je instalace PHP 7 na vašem systému Debain 8 Linux dokončena.

Ruční instalace

Předpoklady instalace

Začněme instalací všech předpokladů, aby vyhovovaly nejběžnějším možnostem kompilace PHP:

# 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

Stažení zdrojového kódu PHP

Pravděpodobně nejjednodušší způsob, jak získat zdrojový kód PHP pro klonování úložiště PHP na GitHubu. Pro klonování zdrojového adresáře PHP spusťte následující linuxový příkaz:

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

Jakmile je git clone operace je dokončena, zůstane vám nový název adresáře php-src .

Další alternativou je získat tarball konkrétní verze PHP, kterou
chcete nainstalovat, jejím stažením přímo z http://php.net/downloads.php . Výhodou je v tomto případě požadavek na minimální velikost stahování. Nebudete si však moci vybrat
selektivně různé verze pro více nasazení.

Kompilace zdrojového kódu PHP

V této fázi jsme připraveni provést kompilaci zdrojového kódu PHP. Přejděte na dříve stažený php-src adresář:

$ cd php-src

Dále se rozhodněte, jakou verzi PHP chcete zkompilovat a nainstalovat. Spusťte následující git příkaz k zobrazení seznamu všech dostupných verzí PHP 7:

$ 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

Použijte git checkout příkaz pro přepnutí do požadované větve verze PHP, kterou chcete použít pro kompilaci. Příklad:

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

Dále vytvořte adresář, který bude použit jako cíl instalace. V našem případě to bude /usr/local/php-7.1.0 :

# mkdir /usr/local/php-7.1.0

a zadejte všechny řetězce kompilace. Věnujte zvláštní pozornost --prefix a --with-config-file-scan-dir konfigurační řetězce, které definují instalaci a konfiguraci
nastavení. Níže je uveden seznam nejběžnějších možností kompilace PHP.

Neváhejte a aktualizujte seznam, aby vyhovoval vašim potřebám. V závislosti na vašem výběru možná budete muset nainstalovat další
předpoklady. Zkopírujte a vložte níže uvedený text do svého terminálu a stiskněte 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"

Výše uvedené nastaví CONFIGURE_STRINGS proměnná shellu, která obsahuje všechny vaše možnosti kompilace PHP. Dále musíme vytvořit konfigurační a Makefiles. Chcete-li tak učinit, proveďte:

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

Dále proveďte konfiguraci kompilace:

$ ./configure $CONFIGURE_STRINGS

Pokud výše uvedená configure nevyvolala žádné chyby a poté je čas provést kompilaci spuštěním make příkaz:

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

Po dokončení kompilace, pokud je zdrojový kód PHP dokončen, volitelně spusťte make test nebo spusťte make install příkaz k instalaci všech dříve zkompilovaných binárních souborů do jejich
příslušných adresářů:

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

Vše hotovo. PHP 7.1.0 je nyní nainstalováno. Pro potvrzení provedení:

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

Instalace správce procesů FastCGI

V této sekci nainstalujeme PHP-FPM, který bude použit jako předek pro instalaci s webovými servery, jako je Nginx nebo Apache. Nejprve vytvořte symbolický odkaz nově zkompilovaného
/usr/local/php-$version/sbin/php-fpm binární, aby byla naše instalace uklizená:

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

Stále v php-src adresář, nastavte výchozí php.ini config:

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

Povolit konfigurační soubor démona 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

Použijte textový editor a vytvořte nový /usr/local/php-7.1.0/etc/php-fpm.conf konfigurační soubor s následujícím obsahem:

[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

Povolit další moduly PHP

Vložte všechny direktivy modulu, které chcete povolit, do php.ini konfigurační soubor. Chcete-li například povolit spuštění modulu PHP OpCache společnosti Zend:

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

Nakonfigurujte skript PHP7-FPM init.d

Nejprve vložte následující upravený php7-fpm.init skript do /etc/init.d/ adresář:

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

V případě, že jste nainstalovali jinou verzi PHP než 7.1.0 použijte textový editor a změňte následující proměnné skriptu tak, aby odpovídaly vašemu nainstalovanému PHP VERSION :

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

Nakonec vytvořte /etc/init.d/php7-fpm spustitelný soubor a spusťte udpate-rc.d příkaz:

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

Spusťte démona PHP-FPM

Nyní byste měli být schopni jednoduše spustit PHP-FPM Daemon spuštěním service příkaz:

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

Démon PHP-FPM nyní naslouchá na localhost číslo portu 9000 .


Debian
  1. Jak nainstalovat nejnovější ovladače NVIDIA na Debian 9 Stretch Linux

  2. Jak integrovat nejnovější Firefox do Gnome 3 na Debian Jessie

  3. Jak nainstalovat PHP 7.1 na GNU/Linux Debian 8.7 (jessie) server?

  1. Jak nainstalovat PHP Composer na Debian Linux

  2. Nainstalujte nejnovější Eclipse Java IDE na Debian 8 a Ubuntu 16.04 Linux

  3. Jak nainstalovat nejnovější Eclipse Java IDE na Debian 9 Stretch Linux

  1. Instalace klienta Steam na Debian Jessie 8 Linux 64-bit

  2. Jednoduchá instalace webového prohlížeče Firefox na Debian 8 Jessie Linux

  3. Jak nainstalovat nejnovější verzi Mesa na Debian 9 Stretch Linux