Cómo permitir el uso de múltiples versiones de PHP en Plesk para Linux

Refers to:

  • Plesk 12.5 for Linux
  • Plesk 11.5 for Linux
  • Plesk 12.0 for Linux
  • Plesk 12.5 for Windows

Created:

2016-11-16 12:44:50 UTC

Modified:

2017-02-10 22:56:15 UTC

1

Was this article helpful?


Have more questions?

Enviar una solicitud

Cómo permitir el uso de múltiples versiones de PHP en Plesk para Linux

Síntomas

En sistemas Linux puede instalar cualquier versión de PHP y hacer que esta esté disponible en registrándola con la utilidad de línea de comandos php_handler .

Causa

Se necesita una versión de PHP que no se proporciona en Plesk.

Resolución

Para CloudLinux :

Si es usuario de CloudLinux, puede usar la prestación de selección de PHP de CloudLinux:

http://docs.cloudlinux.com/index.html?php_selector.html

En el caso de Plesk 12 y Plesk 12.5:

A partir de Plesk 12.0.18 MU#41 , puede instalar y usar varias de las versiones de PHP 5.x creadas por Plesk mediante el panel de Plesk. Si desea más información al respecto, consulte este artículo de nuestra base de conocimiento.

Paquetes de PHP para Plesk 12:

  • CentOS 6
  • CentOS 7
  • Ubuntu 12

Paquetes de PHP para Plesk 12.5:

  • CentOS 6
  • CentOS 7
  • RHEL 6
  • RHEL 7Debian 7Debian 8
  • Ubuntu 12
  • Ubuntu 14

En el caso de Plesk 11.5 :

Paso 1. Instale la versión de PHP deseada en su servidor Plesk

Si desea consultar las instrucciones para su instalación, consulte la documentación oficial de PHP, disponible en http://php.net/manual/en/install.php .

    Nota: le recomendamos crear PHP en otro entorno (que no sea de producción) que tenga la misma versión del sistema operativo como servidor de destino. Esto evitará la instalación de un gran número de paquetes innecesarios en su sistema de producción. En el ejemplo que puede ver a continuación se utiliza PHP 5.6.3. De todos modos, puede utilizar dichas instrucciones para instalar cualquier versión de PHP.

En pocas palabras, la instalación se compone de los pasos principales detallados a continuación.

  1. Acceda como root y mediante SSH al ordenador que se utiliza para la compilación de PHP.

  2. Descargue la fuente PHP:

    # cd /usr/local/src/
    # wget http://php.net/get/php-5.6.3.tar.bz2/from/this/mirror --output-document="php-5.6.3.tar.bz2"
  3. Compruebe que la distribución de PHP se ha descargado correctamente:

    # ls -la
    total 13156
    drwxr-xr-x 2 root root 4096 Nov 29 08:39 .
    drwxr-xr-x 15 root root 4096 Nov 29 08:39 ..
    -rw-r--r-- 1 root root 13461539 Nov 14 06:41 php-5.6.3.tar.bz2
  4. Descomprima el archivo comprimido descargado:

    # tar xjvf php-5.6.3.tar.bz2
    # mv php-5.6.3 php563
  5. Instale las librerías necesarias:

    En el caso de CentOS 6.x:

    # yum install libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel mysql-devel ncurses-devel unixODBC-devel net-snmp-devel mhash-devel libc-client-devel libicu-devel gcc postgresql-devel aspell-devel libxslt-devel gcc-c++ openldap-devel

    En el caso de Debian 6 Squeeze:

    #apt-get install libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libgmp3-dev libc-client-dev libicu-dev libsasl2-dev unixodbc-dev libpspell-dev libsnmp-dev libxslt-dev
  6. Instale librerías adicionales

    Esto varía en función del sistema usado para la compilación de PHP. En el paso configuración puede obtener más información al respecto.

  7. Configuración

    # cd /usr/local/src/php563
    # ./configure '--with-libdir=lib64' '--cache-file=../config.cache' '--prefix=/usr/local/php563-cgi' '--with-config-file-path=/usr/local/php563-cgi/etc' '--disable-debug' '--with-pic' '--disable-rpath' '--with-bz2' '--with-curl' '--with-freetype-dir=/usr/local/php563-cgi' '--with-png-dir=/usr/local/php563-cgi' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr/local/php563-cgi' '--with-openssl' '--with-pspell' '--with-pcre-regex' '--with-zlib' '--enable-exif' '--enable-ftp' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--with-kerberos' '--with-unixODBC=/usr' '--enable-shmop' '--enable-calendar' '--without-sqlite3' '--with-libxml-dir=/usr/local/php563-cgi' '--enable-pcntl' '--with-imap' '--with-imap-ssl' '--enable-mbstring' '--enable-mbregex' '--with-gd' '--enable-bcmath' '--with-xmlrpc' '--with-ldap' '--with-ldap-sasl' '--with-mysql=/usr' '--with-mysqli' '--with-snmp' '--enable-soap' '--with-xsl' '--enable-xmlreader' '--enable-xmlwriter' '--enable-pdo' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-pear=/usr/local/php563-cgi/pear' '--enable-intl' '--without-pdo-sqlite' '--with-config-file-scan-dir=/usr/local/php563-cgi/php.d' '--enable-cgi'

    Nota : es imprescindible usar el cambio de prefijo para el nuevo PHP a instalar en un único directorio. Por ejemplo, en nuestro caso el prefijo es /usr/local/php563-cgi/

La selección de un prefijo es sumamente importante , puesto que este evita que la nueva instalación de PHP interfiera con otras instalaciones de PHP presentes en el servidor.

  1. Una vez completada la configuración, compile PHP:

    # cd /usr/local/src/php563
    # make
  2. [Omita este paso si PHP se ha instalado en un entorno de producción] Comprima el PHP compilado y transfiéralo a su servidor Plesk.

    Tenga en cuenta que la ruta completa al directorio que contiene el PHP compilado en el servidor Plesk debe ser la misma que la del servidor de origen:

    # cd /usr/local/src/
    # tar cjvf php563.tar.bz2 php563
    # scp php563.tar.bz2 root@<your_plesk_server_ip>:/usr/local/src
  3. Acceda a su servidor Plesk mediante SSH y descomprima el archivo comprimido que contiene el PHP compilado:

    # cd /usr/local/src
    # tar xjvf php563.tar.bz2
  4. Vaya a su servidor Plesk e instale PHP:

    # cd /usr/local/src/php563
    # make install
  5. Configure php.ini :

    # cp php.ini-development /usr/local/php563-cgi/etc/php.ini

    Puede editar el archivo php.ini para configurar las opciones de PHP. Si prefiere que ' php.ini ' esté en otra ubicación, ejecute la utilidad configure con la opción --with-config-file-path=/some/path en el paso configuración .

  6. Restaure los contextos SELinux:

    # restorecon -R /usr/local/php563-cgi

Paso 2. Registre la nueva versión de PHP en Plesk

/usr/local/psa/bin/php_handler --add -displayname <NN> -path <path to php cgi> -phpini <path to php.ini> -type <php handler> -id <NN-custom>

Donde:

  • -displayname <NN> es el nombre de la versión de PHP que se mostrará en el interfaz de Plesk. Le recomendamos incluir el número de versión en displayname. Por ejemplo, puede denominar la versión "5.6.3-custom".

  • -path <path/to/php/cgi> es la ubicación del archivo ejecutable de PHP CGI. Puede encontrarla en la salida del comando make install en la línea Installing PHP CGI binary. Por ejemplo, si ve la línea Installing PHP CGI binary: /usr/local/php563-cgi/bin/ , la ubicación que deberá especificar es /usr/local/php563-cgi/bin/php-cgi . Para más información, visite el sitio oficial de PHP .

  • -phpini <path/to/php.ini> es la ubicación del archivo php.ini , como por ejemplo /usr/local/php563-cgi/ .

  • -type <php handler> es el tipo de controlador PHP asociado a esta versión. Puede ser 'cgi' o 'fastcgi'.

  • -id <NN-custom> es el identificador que usará cuando se refiera a esta versión de PHP, como por ejemplo cuando la ajuste o la elimine.

Por ejemplo :

# /usr/local/psa/bin/php_handler --add -displayname php-5.6.3 -path /usr/local/php563-cgi/bin/php-cgi -phpini /usr/local/php563-cgi/etc/php.ini -type fastcgi -id 2

Una vez haya registrado la versión de PHP en Plesk, esta podrá seleccionarse en Sitios web > Configuración de hosting de un sitio web. Ver la fotografía que se muestra a continuación.

Creación de un listado de los controladores PHP registrados :

Si desea ver la lista de controladores PHP registrados en un servidor Plesk, ejecute el siguiente comando:

# /usr/local/psa/bin/php_handler --list
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.