Иметь php 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04

Поскольку я должен был обновить до TLS1.2, который я должен был обновить до OpenSSL 1.0.1 или выше. Чтобы сделать это, я должен был обновить от Ubuntu 10.04 до Ubuntu 16.04

Ubuntu 10.04 имела

PHP     5.3.2 
MySQL   5.1.66 
Apache  2.2.14 
OpenSSL 0.9.8

Ubuntu 16.04 имеет

PHP     7.0.18 
MySQL   5.7.18 
Apache  2.4.18 
OpenSSL 1.0.2

Как ожидалось у меня есть OpenSSL 1.0.2 теперь, но сайт не работает теперь, потому что версия PHP обновлена до 7.0.18. Теперь у меня есть немного вопросов

  1. Я могу установить PHP 5.3.2 отдельно и выполнить это? Если так, это будет использовать TLS 1.2?
  2. Или если я должен удалить PHP 7 для установки PHP 5.3.2, OpenSSL будет также понижен?
  3. MySQL удерживается от использования некоторой версией PHP (я не знаю который версия PHP/MySQL). Поскольку моя версия MySQL также обновила, все еще действительно ли я могу получить доступ к MySQL от PHP 5.3.2?

Я знаю, что PHP 5.3 является EOL. Но у меня должна быть та версия теперь для выполнения моего кода, но с TLS 1.2.

Вскоре говоря, мне нужно

PHP 5.3.2 с доступом к MySQL + TLS1.2 (> openssl 1.0.1) + Ubuntu 16.04.

Как достигнуть этого?

3
задан 19 June 2017 в 16:43

3 ответа

Много зависит от того, если Вы хотите только использовать официально поддерживаемые пакеты.

нет ничего останавливающего Вас удаляющий пакет PHP 7 и компилирующий PHP 5.3.2 самих и связывающийся против OpenSSL 1.0.2, если у Вас есть знание о том, как сделать так. Это может быть легко или твердо в зависимости от изменений API в зависимостях. Это было бы, вероятно, стоящий использования 5.3.29, хотя, то, которое я понимаю, должно быть совместимо с Вашими 5.3.2 кодами, но иметь еще многие, фиксирует.

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

я проверил бы на проблемы безопасности, которые подошли, так как выпуск, хотя прежде, чем поместить его, живет. Это больше не поддерживается IIUC, таким образом, необходимо было бы самостоятельно исправить его.

из-за отсутствия патчей безопасности я также советовал бы обновлять кодовую базу к чему-то более свежий ASAP. PHP публикуют руководства по миграции (например, http://php.net/migration54 ), и Вы могли следовать за каждым, пока Вы не поддерживались снова.

я лично не знаю ни о каких пакетах (чиновник или иначе), который позволил бы Вам избежать необходимости компилировать себя.

4
ответ дан 1 December 2019 в 15:34

PHP 5.3 достиг EOL. Кроме того, я думаю, что существует не сохраняемый repo/distro с активными 5,3 поддержкой.

я думаю , единственная хорошая ставка перемещает Ваш код в поддерживаемую версию PHP, или по крайней мере 5.4/5.5. Можно найти официальный PHP мигрирующими руководствами здесь .

Так или иначе, при необходимости в грязном обходном решении у Вас, вероятно, есть две основных опции:

  • Компиляция она самостоятельно
  • Использование третье лицо ppa, виртуальная машина или контейнер

, Если Вы хотите скомпилировать его сами (со всей стычкой это может быть) , связываясь против более нового OpenSSL и решая потенциал выходит, это могло возникнуть, как упомянутый @user133831, можно выполнить шаги на этот ответ .

, Если Вы не хотите компилировать его и Вы надеетесь использовать ppa, можно попытаться установить использование SergeyD . Проверьте ppa инструкции установить соответствующие модули PHP.

я также видел определенные сторонние контейнеры Докера для PHP 5.3 на основе более старых версий Ubuntu, как 12,04 и 12.10 (с более старыми версиями OpenSSL также) . Однако можно попробовать (и выбросить его после этого) контейнер докера, чтобы видеть, работает ли это на проблему. Возможно, Вы хотите смотреть эти ссылки: PHP 5.3 с нуля Dockerfile, изображение докера PHP 5.3

, Неважно, опция Вы выбираете, я предложу делать весь "грязный" материал в VM или lxc/lxd/docker контейнере (по крайней мере сначала) , постараться не смешивать слишком много основная система.

Так или иначе, если Вы принимаете решение остаться с PHP 5.3, имеют в виду, что, вероятно, Вы закончите другим "побочные эффекты" , как проблемы с MySQL API в более новых версиях, ошибках и несовместимостях, зафиксированных в более новых версиях, и конечно, потенциальные дефекты безопасности .

Hope это помогает.

1
ответ дан 1 December 2019 в 15:34

На 16,04, я смог вызвать снижение libssl-dev с этой командой:

apt-get install libssl-dev=1.0.2*

Я смог скомпилировать php 5.3.29 с phpbrew со следующей командой после установки многих lib*-dev пакеты:

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

У меня также был ondrej/php ppa установленный, который, возможно, был фактором, хотя он действительно только, как предполагается, дает Вам php 5.6.x, таким образом, я не уверен.

0
ответ дан 1 December 2019 в 15:34

Другие вопросы по тегам:

Похожие вопросы: