Test HTTP Requests Tools Blog PHP Quiz API Log In With Github
Test HTTP Requests Tools Blog PHP Quiz API Log In With Github
« Return to the tutorials list
We have updated the website and our policies to make sure your privacy rights and security are respected.
Click here to learn more about the way our website handles your data.

Remove this message.

You can read this article in: English :: Español :: русский

Como instalar PHP 7 en un Servidor Impulsado por CPanel/WHM sin dañar todo

Daniel Gheorghe Difficulty: 40 / 50 Tweet
php-7-cpanel2

Actualizacion: "EasyApache 4" funciona ahora. He aquí cómo actualizar:

EasyApache 4 viene con 2 grandes funciones - PHP 7 y la posibilidad de elegir la versión de PHP que desee ejecutar por host virtual.

Para instalar EA4 ejecute el siguiente comando como root:
/scripts/migrate_ea3_to_ea4 --run

Antes de actualizar, por favor revise su /etc/yum.conf archivo. Asegúrese de que tiene plugins = 1 en ello. De otra manera la instalación no funcionará.

Si algo va mal durante el proceso de actualización siempre se puede volver atrás: /scripts/migrate_ea3_to_ea4 --revert --run

After the install has finished (it takes a while), go into WHM and load this version: "All PHP Options + OpCache"

Todavía tienen que utilizar EasyApache 3? Leer el tutorial a continuación:

Hola!

En este tutorial quiero compartir mi experiencia, con la instalación de PHP7 en uno de mis Servidores impulsados por WHM/cPanel, en el que tenía varios sitios web que simplemente no podían correr una versión de PHP que fuera de este siglo.

Necesitaba tener PHP 7 listo y corriendo para algunos sitios web y dejar los viejos, con la versión antigua de PHP (5.3 creo)

También necesitaba hacer las cosas de manera que la gente aun pudiera actualizar cualquier cosa en cPanel/WHM... básicamente hacer todo completamente separado.

El Sistema: CENTOS 6.7 x86_64 kvm – main / WHM 11.52.1 (build 2).

Después de investigar un poco, tuve un plan en marcha, así que me fui directo y compile PHP 7 desde la fuente. Aquí esta como:

    
        cd /usr/local/
        mkdir php7.0
        cd php7.0
        wget http://php.net/distributions/php-7.0.1.tar.gz
        tar -xvf php-7.0.1.tar.gz
        cd php-7.0.1

        # don't forget to run ./configure --help to see all available options first
        ./configure  --enable-bcmath --enable-calendar --enable-exif --enable-ftp --enable-gd-native-ttf --enable-libxml --enable-mbstring --enable-pdo=shared --enable-sockets --enable-zip --prefix=/usr/local/php70  --with-curl=/opt/curlssl/ --with-freetype-dir=/usr --with-gd --with-gettext --with-imap=/opt/php_with_imap_client/ --with-imap-ssl=/usr --with-jpeg-dir=/usr --with-kerberos --with-libdir=lib64 --with-libxml-dir=/opt/xml2/ --with-mcrypt=/opt/libmcrypt/ --with-mysqli --with-openssl=/usr --with-openssl-dir=/usr --with-pcre-regex=/opt/pcre --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-pic --with-png-dir=/usr --with-xpm-dir=/usr --with-zlib --with-zlib-dir=/usr

        make
        make test
        make install

        cd /usr/local/php70/bin
        ./php -v
    

Si todo te funcionó como debía, ejecutando ./php -v en la carpeta /usr/local/php70/bin debería arrojarte algo como esto:

    
        PHP 7.0.1 (cli) (built: Dec 18 2015 03:53:53) ( NTS )
        Copyright (c) 1997-2015 The PHP Group
        Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
    

Ahora hagamos una configuración básica en nuestros archivo php.ini

Solamente agregué algunas extensiones básicas aquí y me basé en el archivo de ejemplo “Pre-Hecho” del php.ini para la elaboración.

    
        cp -f /usr/local/php7.0/php-7.0.1/php.ini-production /usr/local/php70/lib/php.ini

        echo "extension=pdo.so" >> /usr/local/php70/lib/php.ini
        echo "extension=pdo_mysql.so" >> /usr/local/php70/lib/php.ini
        echo "zend_extension=opcache.so" >> /usr/local/php70/lib/php.ini

        # if you need more specific configuration just open up the php.ini file end edit it.
    

Ya en este punto puedes eliminar la carptea /usr/local/php7.0 (El código)

Now let's set up Apache

Necesitamos crear un archivo de configuración para apache, para poder añadir el handler de php7, para hacer eso creamos un nuevo archivo: /usr/local/apache/conf/php7.conf y pegamos el código que está debajo. No olvides modificar la ruta de “Directory” para que se adapte a lo que necesitas.

    
        vi /usr/local/apache/conf/php7.conf
        <IfModule mod_suphp.c>
            <Directory ~ "home/user/public_html/">
                AddType application/x-httpd-php7 .php
                suPHP_AddHandler application/x-httpd-php7
            </Directory>
        </IfModule>
    

Ahora configuremos suPHP (asumiendo que es lo que estas corriendo en el WHM)

Para crear un nuevo handler en supPHP…. Abre suphp.conf: /opt/suphp/etc/suphp.conf. Luego agrega el nuevo handler usando el código que se muestra a continuación, al final de la lista de los handlers.

    
        ;Handler for php-scripts
        #... existing handlers are here ... put yours below them
        application/x-httpd-php7="php:/usr/local/php70/bin/php-cgi"
    

Ahora agreguemos nuestros handlers en la configuración de EasyApache/cPanel/WHM sin dañar nada.

Hay dos opciones aquí, O vas a WHM y editas el archivo post_virtualhost_global.conf desde allí o simplemente ejecutas: vi /usr/local/apache/conf/includes/post_virtualhost_global.conf. Añade la línea que se muestra abajo a ese archivo y deberías estar listo.

    
        Include /usr/local/apache/conf/php7.conf
    

Ahora reinicia Apache y disfruta!

    
        service httpd restart 
    

Vídeo:

Cuéntame cómo te funciono a ti en la sección de comentarios acá abajo.