Dzisiaj przeszedłem moje zwykłe aktualizacje pakietów serwerowych i odkryłem, że ppa:ondrej/php5-5.6
zostało ono stracone i teraz musimy je zaktualizować ppa:ondrej/php
.
Podstawowe dostarczone instrukcje to:
sudo add-apt-repository ppa:ondrej/php
I wtedy:
sudo apt-get update
sudo apt-get upgrade --show-upgraded
Patrząc na nowe repozytorium, nazwy nie wydają się całkowicie zrównane, więc myślę, że muszę wykonać kilka instalacji apt-get, aby zainstalować wszystkie odpowiednie pakiety. Wygląda również na to, że sub-paczki (tj. Php-gd) zostaną zainstalowane dla wszystkich wersji php i mogą również zainstalować php 5.5 i php 7.0 ( /programming/37197539/an-issue-after-ppaondrej- php5-deprecation )
Moje pytanie brzmi: jaki jest najczystszy sposób na „przełączenie” ppas i wyczyszczenie istniejących pakietów, biorąc pod uwagę, że jest to serwer produkcyjny? Czy powinienem spróbować usunąć wszystkie pakiety zainstalowane z poprzedniego PPA i / lub usunąć PPA z mojego systemu?
Nie ma go jeszcze na stronie głównej PPA, ale komunikat o aktualizacji podał datę wycofania w czerwcu 2016 r., Więc odbudowa obrazu naszego serwera nie jest zbyt długa.
Znalazłem tę stronę, która zawiera instrukcje wyłączania wersji PHP używanej przez apache: https://dzone.com/articles/php-70-and-56-on-ubuntu
Odpowiedzi:
Stare
php5-*
pakiety można zainstalować ponownie z nowymphpX.Y-*
schematem, więc pierwszą rzeczą, którą musisz zrobić, to zainstalować i włączyć nowe pakiety:Apache 2.4
Musisz zainstalować nowe
libapache2-mod-phpX.Y
pakiety, a następnie wyłączyć stary php5 i włączyć nowy moduł wersji, np. Dla PHP 5.6:NGINX / Apache 2.4 z PHP-FPM
Jest to jeszcze prostsze, po prostu zainstaluj
phpX.Y-fpm
i zmień ścieżkę gniazda w konfiguracji serwera WWW/run/php/phpX.Y-fpm.sock
i skopiuj starą konfigurację, np. Dla PHP 5.6:Jeśli zdefiniowałeś więcej pul FPM, musisz skopiować starą konfigurację do nowej ścieżki, ponownie dla PHP 5.6:
Teraz, jeśli chcesz usunąć stare pakiety, możesz napotkać pewne problemy, ponieważ nie może być pakiety, które wymagają stary PHP5 * imiona, warto dodać
ppa:ondrej/php5-compat
, że zapewniają cienką warstwę opakowań z kompatybilnością, że mapaphp5-<foo>
sięphp5.6-<foo>
na głównej PHP5 * pakiety:Zdecydowanie wypróbuj to pierwsze w środowisku nieprodukcyjnym ! Dobrą stroną jest to, że utrzymuje
/etc/php5
nietkniętą starą konfigurację , dzięki czemu można migrować stare ustawienia.Po zaktualizowaniu głównych pakietów PHP możesz odszukać resztę
php5-*
pakietów i zainstalować ich ekwiwalent, npPrzygotuję aktualizację repozytorium zgodnego z php5, która spowoduje automatyczne mapowanie.
Bardziej aktualny tekst zawsze można znaleźć na stronach DEB.SURY.ORG PPA Wiki .
źródło
dpkg --get-selections | grep php
aby wyświetlić listę wszystkich bieżących pakietów, aby pomóc ludziom mapować rzeczy (chociaż mapowanie ppa będzie bardzo przydatne, ponieważ nie musisz tego robić i pozwolić, aby po prostu działało). Może to również być dobre w tymsudo add-apt-repository --remove ppa:whatever/ppa5-5.6