it-swarm.com.de

PHP 5.3.2 + Openssl 1.0.1 + Ubuntu 16.04 haben

Da ich auf TLS1.2 upgraden musste, musste ich auf OpenSSL 1.0.1 oder höher upgraden. Dazu musste ich von Ubuntu 10.04 auf Ubuntu 16.04 upgraden

Ubuntu 10.04 hatte

PHP     5.3.2 
MySQL   5.1.66 
Apache  2.2.14 
OpenSSL 0.9.8

Ubuntu 16.04 hat

PHP     7.0.18 
MySQL   5.7.18 
Apache  2.4.18 
OpenSSL 1.0.2

Wie erwartet habe ich jetzt OpenSSL 1.0.2, aber die Site funktioniert jetzt nicht, da die Version PHP auf 7.0.18 aktualisiert wurde. Jetzt habe ich einige Fragen

  1. Kann ich PHP 5.3.2 separat installieren und ausführen? Wenn ja, wird TLS 1.2 verwendet?
  2. Oder muss ich PHP 7 entfernen, um PHP 5.3.2 zu installieren, wird OpenSSL auch herabgestuft?
  3. MySQL wird von einigen PHP-Versionen abgelehnt (ich weiß nicht, welche PHP/MySQL-Version). Kann ich nach dem Upgrade meiner MySQL-Version immer noch von PHP 5.3.2 aus auf MySQL zugreifen?

Ich weiß, dass PHP 5.3 EOL ist. Aber ich sollte diese Version jetzt haben, um meinen Code auszuführen, aber mit TLS 1.2.

Kurz gesagt, ich brauche

PHP 5.3.2 mit Zugriff auf MySQL + TLS1.2 (> openssl 1.0.1) + Ubuntu 16.04.

Wie kann man das erreichen?

3
siddiq

Viel hängt davon ab, ob Sie nur offiziell unterstützte Pakete verwenden möchten.

Nichts hindert Sie daran, das PHP 7-Paket zu entfernen und PHP 5.3.2 selbst zu kompilieren und gegen OpenSSL 1.0.2 zu verlinken, wenn Sie über die entsprechenden Kenntnisse verfügen. Dies kann je nach API-Änderungen in den Abhängigkeiten einfach oder schwierig sein. Es würde sich wahrscheinlich lohnen, 5.3.29 zu verwenden, was meines Erachtens mit Ihrem 5.3.2-Code kompatibel sein sollte, aber ein paar weitere Korrekturen haben sollte.

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

Ich würde nach Sicherheitsproblemen suchen, die seit der Veröffentlichung aufgetreten sind, bevor ich sie in Betrieb nehme. Es wird nicht mehr von IIUC unterstützt, Sie wären also alleine, um es zu patchen.

Wegen des Fehlens von Sicherheitspatches würde ich auch raten, die Codebasis so schnell wie möglich auf etwas neueres zu aktualisieren. PHP veröffentlichen Migrationshandbücher (z. B. http://php.net/migration54 ) und Sie können jedem folgen, bis Sie wieder unterstützt werden.

Mir sind keine Pakete (offiziell oder anderweitig) bekannt, mit denen Sie vermeiden könnten, sich selbst kompilieren zu müssen.

4
user133831

PHP 5.3 hat EOL erreicht. Ich denke auch, dass es kein gewartetes Repo/Distribution mit aktiver 5.3-Unterstützung gibt.

Ich denke, die einzige gute Wette ist die Migration Ihres Codes auf eine unterstützte PHP -Version oder mindestens 5.4/5.5. Sie finden die offiziellen PHP Migrationshandbücher hier .

Wie auch immer, , wenn Sie eine fehlerhafte Problemumgehung benötigen, haben Sie wahrscheinlich zwei Hauptoptionen:

  • Stelle es selbst zusammen
  • Verwenden Sie einen Drittanbieter ppa , virtuellen Computer oder Container

Wenn Sie es selbst kompilieren möchten (mit allem Aufwand) , eine Verknüpfung mit dem neueren OpenSSL herstellen und die potenziellen Probleme lösen möchten, die sich daraus ergeben könnten, wie @ user133831 erwähnt, können Sie dies Folgen Sie den Schritten auf diese Antwort .

Wenn Sie das Kompilieren vermeiden möchten und ein ppa verwenden möchten, können Sie versuchen, es mit SergeyD ones zu installieren. Überprüfen Sie die ppa-Anweisungen, um die entsprechenden PHP Module zu installieren.

Ich habe auch spezielle Docker-Container von Drittanbietern für PHP 5.3 gesehen, die auf älteren Ubuntu-Versionen wie 12.04 und 12.10 basieren (auch mit älteren OpenSSL-Versionen) . Sie können jedoch versuchen (und es danach wegwerfen) einen Docker-Container, um zu sehen, ob es für Ihr Problem funktioniert. Vielleicht möchten Sie einen Blick auf diese Links werfen: PHP 5.3 von Grund auf Dockerfile , PHP 5.3 Docker-Image

Egal für welche Option Sie sich entscheiden, ich schlage vor, alle "schmutzigen" Dinge in einem VM oder einem lxc/lxd/docker-Container zu erledigen (zumindest zuerst) , um zu vermeiden, dass das Hauptsystem zu stark durcheinander gebracht wird.

Wie auch immer, wenn Sie sich dafür entscheiden, bei PHP 5.3 zu bleiben, denken Sie daran, dass Sie wahrscheinlich mit anderen "Nebenwirkungen" enden werden, wie etwa Problemen mit MYSQL API in neueren Versionen, Fehler und Inkompatibilitäten, die in neueren Versionen behoben wurden, und natürlich potenzielle Sicherheitslücken .

Ich hoffe es hilft.

1
dgonzalez

Am 16.04 konnte ich mit folgendem Befehl ein Downgrade von libssl-dev erzwingen:

apt-get install libssl-dev=1.0.2*

Ich konnte PHP 5.3.29 mit phpbrew mit dem folgenden Befehl kompilieren, nachdem ich viele lib * -dev-Pakete installiert hatte:

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

Ich hatte auch das ondrej/php ppa installiert, das mag ein Faktor gewesen sein, obwohl es eigentlich nur PHP 5.6.x geben soll, also bin ich mir nicht sicher.

0
RedScourge