Blog Nubity
junio 2018
L M X J V S D
« May    
 123
45678910
11121314151617
18192021222324
252627282930  

Categorías


Cómo instalar PHP 7 con Apache y MariaDB en CentOS 7/Debian 8.

AdminAdmin

La semana pasada (más precisamente el 21 de agosto de 2015), el equipo de desarrollo de PHP anunció que se encuentra disponible la última entrega (release) de PHP 7 e incentivó a los usuarios y programadores de todo el mundo a probarlo.

Sin embargo, debemos destacar que, como es una versión candidata (Release Candidate), se esperan posibles errores (bugs) o incompatibilidades con las configuraciones existentes por lo que se pide a los usuarios que las informen a través del sistema de seguimiento de errores (bug tracking system) y que no utilicen PHP 7 en producción mientras permanezca en esta etapa.

 

1

 

El lado positivo es que esta versión incluye varias mejoras (ver aquí el repositorio del proyecto en GitHub con los detalles de las nuevas características y mejoras), cuya característica más perceptible es un notable aumento del desempeño comparado con versiones previas.

Este artículo muestra el proceso para instalar y compilar PHP 7 RC1 a partir del paquete comprimido del código fuente (source tarball) junto con Apache y MariaDB en CentOS 7 y Debian 8 Jessie. Las mismas instrucciones funcionan tanto para las distribuciones basadas en CentOS, tales como RHEL, Fedora, Scientific Linux, como para las de Debian, tales como Ubuntu/Mint.

 

Instalar PHP 7 en CentOS 7 y Debian 8.

Debido a que esta versión es una versión candidata en lugar de una estable, no se puede esperar que esté disponible en los repositorios. Por esa razón, hay que bajarse el código fuente y compilar el programa desde el inicio.

Antes de comenzar, hay que recordar que para obtener una mayor ventaja de PHP 7, y quizás la mejor manera de probarlo, es instalarlo junto con Apache y MariaDB – que SÍ están disponibles en los repositorios:

 

On CentOS 7

2

On Debian 8

3

 

En cualquiera de los casos, el paquete comprimido del código fuente de PHP puede bajarse y extraerse como figura a continuación:

 

4

 

Una vez realizado esto, ingresar a /opt/php-7.0.0RC1 y ejecutar el script buildconf con el parámetro –force para forzar la compilación (build) de una versión candidata:

 

5

 

 

Ahora se puede ejecutar un comando de configuración habitual. Mientras que las opciones a continuación aseguran la instalación de PHP estándar, se puede ver la lista de opciones completas en el manual PHP para instalarlo de forma personalizada:

 

6

 

Si surge el siguiente error:

 

7

 

 

Instalar gcc y las dependencias con el siguiente comando y ejecutar el comando configure anterior nuevamente:

 

8

 

Comenzarán a compilar PHP 7, lo que llevará un tiempo. Si hay algunas otras librerías o recursos que faltan, ese proceso va a fallar pero siempre se pueden instalar y volver a ejecutar configurePor ejemplo, se tiene que instalar libxml2-devel luego de obtener el siguiente mensaje de error:

 

9

 

Lamentablemente, no se pueden mostrar todas las posibilidades ya que el software instalado puede variar de un sistema a otro. Esta página detalla varios errores que pueden aparecer durante la instalación de PHP desde el código fuente, junto con sus respectivas soluciones.

 

En CentOS 7

A continuación se encuentra la lista completa de los paquetes a instalar en CentOS 7 antes de completar el proceso de configuración:

 

10

 

Se pueden instalar todos los paquetes necesarios detallados más arriba con un solo comando yum:

 

11

 

El siguiente mensaje indica que la configuración terminó de forma exitosa:

 

12

 

Luego, ejecutar:

 

13

 

Cuando la instalación esté completa, se puede revisar la versión utilizando la siguiente línea de comando:

 

14

 

 

En Debian 8

En Debian, se deben instalar los siguientes paquetes para que el proceso de configuración se complete de forma exitosa:

 

15

 

En Debian 8, se pueden instalar todos los paquetes anteriores con el comando apt-get.

 

16

 

Luego, agregar a las opciones de configuración (configure) –with-libdir=/lib/x86_64-linux-gnu y crear el siguiente enlace sinbólico al archivo gmp.h:

 

17

 

Ejecutar make y make install como en el caso anterior. La compilación se completa en 10-15 minutos y se puede verificar la versión de PHP instalada hasta ahora:

 

18

 

 

Configurar php.ini y probar la instalación de PHP 7

Cuando se instala PHP desde el código fuente, hay dos ejemplos de php.ini. Se encuentran dentro de /opt/php-7.0.0RC1:

 

19

 

Ahora, se necesita copiar uno de ellos a /usr/local/lib, la cual es la ubicación por defecto para ese archivo según las notas de Instalación:

 

20

 

No hay que olvidarse agregar esta directiva a la configuración principal de Apache:

 

21

 

En Debian 8 se puede omitir la línea LoadModule y también se necesita remover y crear los siguientes links simbólicos a los módulos de Apache indicados:

 

22

 

Luego, reiniciar el servidor web:

 

23

 

Si al iniciar Apache en CentOS 7 devuelve el mensaje de error que no se encuentra libphp7.so, copiarlo en la ruta indicada desde /opt/php-7.0.0RC1/.libs/libphp7.so.

La forma clásica de probar una instalación PHP/Apache es utilizar un archivo  phpinfo(). Crear un archivo test.php con los siguientes contenidos en la raíz de documentos (document root) del servidor web (/var/www/html en las dos distribuciones):

 

24

 

Abrir el navegador web dentro de la red para realizar una prueba:

 

25.1

25.2

Referencia de TecMint por Gabriel Cánepa.

Esperemos que este artículo te haya servido. Recuerda que si no tienes cuenta con Nubity puedes registrarte aquí: https://goo.gl/bEyWXp  en donde podrás monitorear y delegar la administración de todos tus servidores y aplicaciones para mejorar el performance y evitar caídas de la infraestructura TI de tu negocio.

Comments 2
  • estevan6
    Posted on

    estevan6 estevan6

    Responder Author

    Pregunta, A:
    ¿es necesario desinstalar la antigua version de php (5.6.17)?

    Pregunta B:

    ¿php 7 puede implementar MySql (5.5.47) como SGBD?


  • Marco Delvequio
    Posted on

    Marco Delvequio Marco Delvequio

    Responder Author

    Muchas gracias… me has dado la precisa para salvar mi problema.


A %d blogueros les gusta esto: