2014-08-30 9 views
12

Ich bin im Grunde ein PHP Entwickler. Ich verwende derzeit Ubuntu Linux 12.04 LTS auf meinem lokalen Rechner.Kann ich von PHP 5.3.10 auf PHP 5.6.0 migrieren?

Ich verwende die folgende PHP Version für mein PHP Projekt zu entwickeln:

php -v //command run at terminal to know the `PHP` version installed 

PHP 5.3.10-1ubuntu3.13 with Suhosin-Patch (cli) (built: Jul 7 2014 18:54:55) 
Copyright (c) 1997-2012 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies 

Jetzt ein paar Tage zurück eine neue letzte Version von PHP Version (PHP 5.6.0) wurde von dem PHP Entwicklungsteam freigegeben.

Meine Frage ist, wie ich eine PHP Version auf meinem lokalen Rechner bin mit der zu alt ist, und auch alle PHP Versionen niedriger als 5.4 sind offiziell nicht unterstützte oder angekündigt End-of-life, soll ich gehen für PHP 5.6.0?

Wenn Ihre Antwort ja ist, erklären Sie mir bitte, wie es geht? Funktioniert der Code, den ich in meinem Projekt geschrieben habe, nach dieser Migration ordnungsgemäß? Welche Änderungen muss ich tun?

Wenn Ihre Antwort nein ist, erläutern Sie mir bitte im Detail, warum?

Bevor ich diese Frage stelle, habe ich Google und PHP Dokumentation durchlaufen. Dort fand ich Hinweise zur Migration für folgende Version Migrationen:

**5.3.x->5.4.x 
    5.4.x->5.5.x 
    5.5.x->5.6.x** 

Haben Sie nicht bekommen, wie von PHP 5.3.10 zu PHP 5.6.0 migrieren.

Kann mir bitte jemand diesbezüglich helfen?

Wenn Sie weitere Informationen zu meinem Problem benötigen, lassen Sie es mich wissen.

+1

Sie sollten Ihren Paketmanager immer zum Aktualisieren von Software verwenden. Aktualisieren Sie manuell nur dann, wenn es absolut notwendig ist, also wenn das Paket in offiziellen Repositorys fehlt, und Sie keine Drittanbieter-Repositorys verwenden möchten. – Luka

+0

@Luka: Was bedeutet Paketmanager und welchen Paketmanager soll ich verwenden? – user2839497

+1

Ein Paketmanager ist ein Programm, mit dem Pakete und ihre Abhängigkeiten automatisch gesucht und installiert werden. 'apt' ist ein Beispiel für einen Paketmanager. Alle Debian-basierten Distributionen (daher auch Ubuntu) haben sie standardmäßig. RedHat-basierte Distributionen zum Beispiel haben 'yum'. Daher sollten Sie Updates immer mit 'apt-get install php' installieren. Falls das Paket bereits installiert ist und neue Updates verfügbar sind, werden diese installiert. Wenn das Paket überhaupt nicht installiert ist, wird es einige Augenblicke nach dem Ausführen von 'apt-get install' installiert. Schau dir die Antwort von DevilishDB an. – Luka

Antwort

8

TL; DR PHP 5.3.x noch Sicherheits-Upgrades von Ubuntu bekommen, aber für eine neuere Version 14.04.1 Upgrade

Sie herunterladen können und bauen/installieren Sie die Quelle für PHP 5.6 von der Website, aber don Dies bedeutet, dass Sie Gefahr laufen, die Stabilität Ihres Systems zu verlieren, da andere Pakete auf Ihrem System nicht für diese Version ausgelegt sind und Sie jedes Mal, wenn eine neue Version herauskommt, manuell aktualisieren müssen sicherheitsrelevant, da Sie sie nicht schnell wie bei einem Paketmanager aktualisieren können.

Stattdessen empfehle ich Ihnen, Ihre Distribution auf Ubuntu 14.04.1, das PHP 5.5.9 enthält, zu aktualisieren; viel neuer als 5.3.10. Natürlich wird 5.3.x weiterhin Sicherheitsupdates erhalten, bis Ubuntu 12.04 EOL erreicht, aber wenn Sie die neuesten Funktionen möchten, sollten Sie dist-upgrade. Sie können dies grafisch im Ubuntu-Software-Updater durchführen oder apt-get dist-upgrade als Root (z. B. mit sudo) im TTY ausführen, wenn Sie die Serverversion verwenden. Update: Verwenden Sie stattdessen sudo do-release-upgrade.

Edit: Nur um zu verdeutlichen, ist apt-get der Paketmanager. Wenn Sie in der Regel grafische Tools zum Installieren und Aktualisieren von Paketen (ubuntu software center, synaptic usw.) verwenden, finden Sie hier einige einfache Befehle. # zeigt an, dass es als root ausgeführt werden muss (z. B. sudo apt-get install <package>), $ bedeutet, dass Sie sudo nicht benötigen. Ersetzen Sie Dinge durch das Ding, das Sie verwenden möchten (z.apt-get install chromium-browser)

#apt-get update aktualisiert die Repositories
#apt-get upgrade die zu den neueren Pakete aktualisiert (laufen die obige erste!)
#apt-get upgrade <package> wie oben, aber ein Upgrade nur ein einziges Paket (nicht so nützlich, wenn Sie eine haben bestimmter Grund)
#apt-get install <package> installiert ein Paket
#apt-get remove <package> ein Paket
# entfernt 01.236.automatisch entfernt Pakete, die von Abhängigkeiten und nicht mehr
Bedarf installiert wurden $apt-cache search <query> sucht nach der Abfrage, die Sie
gab $apt-cache show <package> zeigt Informationen für ein Paket
#yes "" | apt-get install <package> ein Paket Antwort auf alles Beantwortung der Standard installiert (können Sie yes verwenden mit vielen Befehlen)
#apt-get dist-upgrade aktualisiert alles (und entfernt einige Pakete), wenn es normalerweise zurückgehalten wird.

+0

Ich habe einen Redditor gefunden. Krank ihn –

5

Aktualisieren Sie auf Ubuntu 14.04.1, um PHP 5.5.9 als Paket zu erhalten, und profitieren Sie von Ubuntu-Upgrades. Ich würde sowieso nicht in einer Produktionsumgebung für 5.6.0 gehen.

Von this PHP page erhalten Sie Informationen über die Migrationen von 5.3 zu 5.4 und 5.4 zu 5.5.

Neben den erwähnten Änderungen und neuen Funktionen haben die PHP-Teams an der Speicherverwaltung und -optimierung zwischen 5.3 und 5.5.9 gearbeitet. Diese Verbesserungen motivieren allein die Migration.

Ratschläge für die Migration

  • APC: PHP bettet jetzt OPCache als Ersatz von APC. Wenn Sie APC-Variablen verwendet haben, sind einige Informationen über OPCache verfügbar - in meinem Fall mit der alten APC über das neue Modul (Namensänderung), php5-apcu (beachten Sie die 'u'), war die beste Alternative.

  • Die Module wurden in einem anderen Verzeichnis installiert. Wenn Sie zu halten beabsichtigen, Ihre php.ini die extension_dir müssen

  • Zusätzlich kann eingestellt werden, die /etc/php5 dir ist anspruchsvoller in Bezug auf die Struktur: unter dem Verzeichnis mods-available ist (à la nginx), die die Liste enthält von Module Ini-Dateien. Dann in cli, fpm, apache2 ... dirs ist ein conf.d dir, das symbolische Links zu diesem Haupt mods-available Module Ini-Dateien hat; Fügen Sie nur einen Link hinzu, wenn Sie dieses Modul für diese PHP-Konfiguration verwenden möchten (z. B. mysqli ist möglicherweise nicht erforderlich für cli).

  • JSON: Das Modul php5-json installiert werden (apt-get install php5-json), um die PHP JSON Funktionen zu erhalten (json_encode, decode ...)

  • beachten Sie, dass es scheint, dass es ein Problem ist, verbindet /etc/php5/MODE/php.ini (MODE cli, ...) zu einem Haupt php.ini irgendwo (zB in fpm) zu sein - während Ubuntu-Updates, verhindert ein Fehler der Installation - Ich habe die php.ini einfach kopiert, da sie in meinem Fall für alle Modi gleich sind.

Außerdem lief die Migration reibungslos.

Verwandte Themen