Tener php 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04

Tener php 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04

Como tuve que actualizar a TLS1.2, tuve que actualizar a OpenSSL 1.0.1 o superior. Para hacer eso, tuve que actualizar de Ubuntu 10.04 a Ubuntu 16.04.

Ubuntu 10.04 tenía

PHP     5.3.2 
MySQL   5.1.66 
Apache  2.2.14 
OpenSSL 0.9.8

Ubuntu 16.04 está teniendo

PHP     7.0.18 
MySQL   5.7.18 
Apache  2.4.18 
OpenSSL 1.0.2

Como era de esperar, ahora tengo OpenSSL 1.0.2, pero el sitio no funciona porque la versión de PHP se actualizó a 7.0.18. Ahora tengo algunas preguntas

  1. ¿Puedo instalar PHP 5.3.2 por separado y ejecutarlo? Si es así, ¿utilizará TLS 1.2?
  2. O si necesito eliminar PHP 7 para instalar PHP 5.3.2, ¿OpenSSL también se degradará?
  3. MySQL está en desuso por alguna versión de PHP (no sé qué versión de PHP/MySQL). Como mi versión de MySQL también se actualizó, ¿todavía puedo acceder a MySQL desde PHP 5.3.2?

Sé que PHP 5.3 está en EOL. Pero debería tener esa versión ahora para ejecutar mi código, pero con TLS 1.2.

En pocas palabras, necesito

PHP 5.3.2 con acceso a MySQL + TLS1.2(>openssl 1.0.1) + Ubuntu 16.04.

¿Cómo lograr esto?

Respuesta1

Mucho depende de si desea utilizar únicamente paquetes con soporte oficial.

No hay nada que le impida eliminar el paquete PHP 7 y compilar PHP 5.3.2 usted mismo y vincularlo con OpenSSL 1.0.2 si tiene el conocimiento sobre cómo hacerlo. Puede ser fácil o difícil dependiendo de los cambios de API en las dependencias. Sin embargo, probablemente valdría la pena usar 5.3.29, que entiendo que debería ser compatible con su código 5.3.2 pero tiene algunas correcciones más.

http://www.php.net/releases/#5.3.29

Sin embargo, comprobaría los problemas de seguridad que han surgido desde el lanzamiento antes de publicarlo. Ya no es compatible con IIUC, por lo que deberá parchearlo usted mismo.

Debido a la falta de parches de seguridad, también recomendaría actualizar el código base a algo más reciente lo antes posible. PHP publica guías de migración (p. ej.http://php.net/migration54) y podías seguir cada uno hasta que volvieras a ser compatible.

No conozco personalmente ningún paquete (oficial o no) que le permita evitar tener que compilar usted mismo.

Respuesta2

PHP 5.3 ha llegado al EOL. Además, creo que no hay ningún repositorio/distribución mantenido con soporte activo para 5.3.

Creola única buena apuestaestá migrando su código a una versión PHP compatible, o al menos 5.4/5.5. Puede encontrar las guías oficiales de migración de PHP.aquí.

De todos modos,si necesitas una solución sucia, probablemente tengas dos opciones principales:

  • compílalo tú mismo
  • Utilice un terceropapá,máquina virtualoenvase

Si quieres compilarlo tú mismo(con toda la molestia que puede ser), vinculándolo con el OpenSSL más nuevo y resolviendo los posibles problemas que esto podría surgir, como lo mencionó @user133831, puede seguir los pasos enesta respuesta.

Si desea evitar compilarlo y desea utilizar unpapá, puedes intentar instalar usandoSergeyD uno. Consulte las instrucciones de ppa para instalar los módulos PHP correspondientes.

También he visto contenedores Docker de terceros específicos para PHP 5.3 basados ​​en versiones anteriores de Ubuntu, como 12.04 y 12.10.(también con versiones anteriores de OpenSSL). Sin embargo, puedes intentar(y tirarlo después de eso)un contenedor acoplable para ver si funciona para su problema. Quizás quieras echar un vistazo a estos enlaces:PHP 5.3 desde cero Dockerfile,Imagen de Docker PHP 5.3

No importa la opción que elijas, te sugeriré que hagas todas las cosas "sucias" dentro de una VM o un contenedor lxc/lxd/docker.(al menos al principio), para evitar estropear demasiado el sistema principal.

De todos modos, si eliges quedarte con PHP 5.3, ten en cuenta que probablemente terminarás con otros."efectos secundarios", como problemas con la API MYSQL en versiones más nuevas, errores e incompatibilidades corregidos en versiones más nuevas y, por supuesto,posibles fallos de seguridad.

Espero eso ayude.

Respuesta3

El 16.04, pude forzar la degradación de libssl-dev con este comando:

apt-get install libssl-dev=1.0.2*

Pude compilar php 5.3.29 con phpbrew con el siguiente comando, después de instalar muchos paquetes lib*-dev:

phpbrew install 5.3.29 +everything -fpm +apxs2 -cli -cgi -phpdbg -dtrace -opcache -embed -gcov

También tenía instalado el ppa ondrej/php, eso puede haber sido un factor, aunque en realidad solo se supone que te proporciona php 5.6.x, así que no estoy seguro.

información relacionada