Vraag Hoe installeer ik een andere (upgrade of downgrade) PHP-versie in de nog steeds ondersteunde Ubuntu-release?


Ik probeer bij te werken om PHP 5.5, 5.6 of 7.0 te installeren in Ubuntu 12.04 / 14.04 / 16.04 LTS, en ik kan alleen PHP 5.3.10 krijgen voor Ubuntu 12.04, PHP 5.5.9 voor Ubuntu 14.04 of PHP 7.0.4 voor Ubuntu 16.04 gebruik van officiële repositories (met apt-get).

Ik weet niet echt hoe ik een handmatige update moet doen, want ik heb het volgende nodig:

  • om mee te spelen met de nieuwe (est) PHP-functies
  • om oudere PHP-versie te installeren als ondersteuning in de software

224
2018-03-02 14:45


oorsprong


if sudo apt-get upgrade Upgrade PHP niet en probeer sudo apt-get dist-upgrade. Voor distributie-upgrade. - Moiz Kiyani


antwoorden:


U zou een PPA kunnen gebruiken om up-to-date te blijven met PHP of de vorige versie van PHP te installeren (bijv. PHP 5.6 op Ubuntu 16.04 LTS).

De meest gebruikte repository's zijn afkomstig van Ondřej Surý, de onderhoudspromotor van Debian PHP:

  • ppa: Ondrej / php Launchpad logo (voor PHP 5.6 / 7.0 / 7.1 co-installeerbare versies wordt PHP 5.5 niet meer ondersteund)

De php5 compat-pakketten:

  • ppa: Ondrej / php5-compat Launchpad logo (voor dummy php5 afhankelijkheden in de oude pakketten tevreden te stellen)

(Klik hier voor instructies over het gebruik van PPA's.)

PHP PPA's bevatten voorheen Apache 2.4 update. Dit is niet langer het geval, je moet een aparte Apache 2.4 repository toevoegen:

  • ppa: Ondrej / apache2 Launchpad logo (voor Apache 2.4)

Als u deze PPA's wilt gebruiken, doet u het volgende:

ppa: Ondrej / php Launchpad logo (voor PHP 5.6 / 7.0 / 7.1)

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1   # for PHP 7.1
sudo apt-get install php7.0   # for PHP 7.0
sudo apt-get install php5.6   # for PHP 5.6

Gebruik om te schakelen tussen geïnstalleerde versies

sudo update-alternatives --config php

Dan moet je Apache instellen om met de juiste versie te werken:

sudo a2dismod php7.1         # unload the current version
sudo a2enmod  php5.6         # load the version you need
sudo service apache2 restart # restart webserver to apply

ppa: Ondrej / php5-compat Launchpad logo (voor php5 compat)

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5 # this will pull php5.6 package 

Als je het niet hebt add-apt-repository binary doet het volgende:

sudo apt-get install python-software-properties

Voorzorgsmaatregelen:

PHP 5.4

Voorverpakte nieuwste PHP 5.4 bevindt zich nu in een aparte PPA: ppa: Ondrej / php5-oldstable Launchpad logo

Houd er rekening mee dat PHP 5.4 het einde van zijn levensduur heeft bereikt 3. september 2015 en het ontvangt geen beveiligingsupdates. Het wordt aanbevolen om te migreren naar ten minste PHP 5.6 die een beveiligingsupdate tot en met zal ontvangen 31. december 2018.


288
2018-03-02 14:58



Blijkt dat je moet rennen sudo apt-get update eerste! - kavisiegel
daar is het php5-cli-pakket voor! - matteosister
Na het toevoegen van de ppa, zou je kunnen doen: sudo apt-get dist-upgrade - matteosister
Na het installeren van de ppa, het upgraden van php en hardlopen php -v, de versie-informatie begint met deze foutmelding: Mislukt laden /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: kan het gedeelde objectbestand niet openen: geen bestand of mapVervelend. - systemovich
Gebruik apt-get install software-properties-common als apt-get install python-software-properties biedt niet de add-apt-repository opdracht. - Meetai.com


Het zal enige tijd duren voordat PHP 5.4-pakketten hun weg vinden naar Ubuntu, omdat er ontzettend veel afhankelijkheidscontroles zijn om te doen. Ubuntu 12.04 is nu in beta, dus ik betwijfel of ze het zullen upgraden naar PHP 5.4 (hoewel ik geen officiële of voorkennis hiervan heb) - het zal waarschijnlijk niet verschijnen tot Ubuntu 12.10 in oktober van dit jaar. Als je het eerder wilt, moet je ofwel een pakket van derden vinden of leren om het zelf te bouwen met de broncode.


3