GNU/Linux >> Tutoriales Linux >  >> Debian

Instalación del último PHP 7 de última generación en Debian 8 Jessie Linux

Introducción

Es posible que el repositorio de paquetes estable actual de Debian no siempre contenga un software actualizado para estar en línea con
nuestras expectativas. Hay una muy buena razón para esto, como un sistema estable como compensación por ejecutar un software de última generación.

¡El lenguaje de secuencias de comandos del lado del servidor PHP no es una excepción! En
al momento de escribir esto, la versión actual de PHP de Debian es 5.6.29 mientras que la última versión del código fuente de PHP es 7.1.0 (dado que no hay PHP 6 en absoluto).

Las afirmaciones del desarrollador de PHP actual colocan a PHP 7 por delante de PHP 5.6 en términos de velocidad, donde se supone que PHP 7 es el doble de rápido que su predecesor:

Gracias al nuevo Zend Engine 3.0, sus aplicaciones tienen un rendimiento hasta 2 veces más rápido y un 50 % más de consumo de memoria que PHP 5.6, lo que le permite servir a más usuarios simultáneos sin agregar ningún
hardware. Diseñado y refactorizado para las cargas de trabajo actuales, PHP 7 es la mejor opción para los desarrolladores web de hoy.

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

Objetivo

Comparar una velocidad entre PHP 5.6 y el último PHP 7.1.0 no es un objetivo de este artículo. Sin embargo, el objetivo es obtener la última versión de PHP 7 instalada en el sistema Debian 8. Además
instalaremos PHP-FPM (FastCGI Process Manager). Esta guía ofrecerá dos posibles instalaciones.

Primero, la guía usará compile-php-debian script disponible en github.com/linuxconfig/compile-php-debian para automatizar la instalación de PHP 7 y luego mostrará cómo instalar PHP 7 manualmente.

Requisitos

  • Acceso privilegiado a su sistema Debian Linux como root o a través de sudo se requiere comando

Dificultad

MEDIO

Convenios

  • # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
  • $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios

Instrucciones

Eliminar paquetes de PHP5

Si ya tiene PHP5 instalado en su sistema, debe eliminarlos antes de instalar el nuevo PHP 7. Para hacerlo para enumerar todos los php paquete relacionado en su sistema:

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

El siguiente comando de Linux eliminará todos los paquetes enumerados por el resultado del comando anterior:

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

Instalación automática con script

La siguiente instalación automática con script realiza todos los pasos necesarios para compilar e instalar la versión de PHP 7 seleccionada por el usuario y también instalará el demonio PHP-FPM. Comience clonando compile-php-debian guión:

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

A continuación, vaya a compile-php-debian directorio:

$ cd compile-php-debian

Ahora simplemente decida qué versión de PHP 7 desea instalar e ingrese el número de versión seleccionado como argumento para install_php.sh texto. Por ejemplo, para instalar PHP versión 7.0.8 ingrese:

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

La instalación puede tardar algún tiempo. Una vez que haya terminado, inicie PHP-FPM Daemon ejecutando service comando:

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

El demonio PHP-FPM ahora está escuchando en un localhost número de puerto 9000 . También puede intentar conectarse al demonio PHP-FPM directamente usando cgi-fcgi comando encontrado dentro de libfcgi0ldbl paquete:

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

Esto completa su instalación de PHP 7 en su sistema Debain 8 Linux.

Instalación manual

Instalación de requisitos previos

Comencemos por la instalación de todos los requisitos previos para adaptarse a las opciones de compilación de PHP más comunes:

# 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

Descarga del código fuente PHP

Probablemente la forma más fácil de obtener el código fuente de PHP para clonar el repositorio de PHP en GitHub. Ejecute el siguiente comando de Linux para clonar el directorio fuente de PHP:

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

Una vez que el git clone la operación ha terminado, quedará con un nuevo nombre de directorio php-src .

Otra alternativa es obtener un tarball de una versión específica de PHP que
deseas instalar descargándolo directamente desde http://php.net/downloads.php . La ventaja en este caso es un requisito mínimo de tamaño de descarga. Sin embargo, no podrá elegir
versiones diferentes selectivamente para múltiples implementaciones.

Compilación de código fuente PHP

En esta etapa estamos listos para realizar una compilación del código fuente de PHP. Navegue a un php-src previamente descargado directorio:

$ cd php-src

A continuación, decida qué versión de PHP desea compilar e instalar. Ejecute el siguiente git Comando para enumerar todas las versiones de PHP 7 disponibles:

$ 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 para cambiar a la rama de la versión de PHP deseada que desea utilizar para la compilación. Ejemplo:

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

A continuación, cree un directorio para utilizarlo como destino de instalación. En nuestro caso será /usr/local/php-7.1.0 :

# mkdir /usr/local/php-7.1.0

y especifique todas las cadenas de compilación. Tome nota especial del --prefix y --with-config-file-scan-dir cadenas de configuración que definen los ajustes de instalación y configuración
. La siguiente es una lista de las opciones de compilación de PHP más comunes.

Siéntase libre de actualizar la lista para satisfacer sus necesidades. Dependiendo de su selección, es posible que deba instalar requisitos previos
adicionales. Copie y pegue el siguiente texto en su terminal seguido de 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"

Lo anterior establecerá CONFIGURE_STRINGS variable de shell para contener todas sus opciones de compilación de PHP. A continuación, necesitamos construir nuestra configuración y Makefiles. Para hacerlo ejecuta:

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

A continuación, realice la configuración de compilación:

$ ./configure $CONFIGURE_STRINGS

Si el configure anterior no produjo ningún error comando, entonces es hora de realizar la compilación ejecutando un make comando:

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

Una vez finalizada la compilación si el código fuente de PHP está terminado, opcionalmente ejecute make test comando o ejecutar make install comando para instalar todos los archivos binarios compilados previamente en sus
directorios relevantes:

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

Todo listo. PHP 7.1.0 ya está instalado. Para confirmar ejecutar:

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

Instalación del administrador de procesos FastCGI

En esta sección instalaremos PHP-FPM para ser utilizado como frente para la instalación con servidores web como Nginx o Apache. Primero, cree un enlace simbólico de
/usr/local/php-$version/sbin/php-fpm recién compilado binario para hacer nuestra instalación ordenada:

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

Todavía en el php-src directorio, configure un php.ini predeterminado configuración:

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

Habilitar el archivo de configuración del demonio 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

Use el editor de texto y cree un nuevo /usr/local/php-7.1.0/etc/php-fpm.conf archivo de configuración con el siguiente contenido:

[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

Habilitar módulos PHP adicionales

Inserte cualquier directiva de módulo que desee habilitar en su php.ini archivo de configuración. Por ejemplo, para habilitar el módulo PHP OpCache de Zend, ejecute:

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

Configurar secuencia de comandos PHP7-FPM init.d

Primero, inserte un siguiente php7-fpm.init modificado script en /etc/init.d/ directorio:

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

En caso de que haya instalado una versión diferente de PHP que no sea 7.1.0 use su editor de texto y cambie las siguientes variables de script para que se ajusten a su PHP VERSION instalado :

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

Por último, crea /etc/init.d/php7-fpm ejecutable y ejecute udpate-rc.d comando:

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

Iniciar demonio PHP-FPM

Ahora debería poder iniciar PHP-FPM Daemon simplemente ejecutando service comando:

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

El demonio PHP-FPM ahora está escuchando en un localhost número de puerto 9000 .


Debian
  1. Cómo instalar PHP Composer en Debian Linux

  2. Instale el IDE Java de Eclipse más reciente en Debian 8 y Ubuntu 16.04 Linux

  3. Cómo instalar los controladores NVIDIA más recientes en Debian 9 Stretch Linux

  4. Cómo integrar la última versión de Firefox en Gnome 3 en Debian Jessie

  5. ¿Cómo instalar PHP 7.1 en el servidor GNU/Linux Debian 8.7 (jessie)?

Instalación de correo web de RoundCube en Debian 8 (Jessie)

Instalación y configuración de PSAD en Debian 8 (Jessie)

Instalación del servidor Samba en Debian 8 (Jessie)

Cómo instalar la última versión de MySQL en Debian 10

COMPARACIÓN DE DEBIAN VS ARCH LINUX

Cómo instalar el último PHP 8 en Debian 10