Vraag Hoe PHP 7 te installeren?


PHP 7 kwam uit gisteren en ik zou het graag proberen.

PHP 7.0.0 wordt geleverd met een nieuwe versie van de Zend Engine, talloze verbeteringen en nieuwe functies zoals

  • Verbeterde prestaties: PHP 7 is tot twee keer zo snel als PHP 5.6
  • Aanzienlijk minder geheugengebruik
  • Samenvatting Syntax Tree
  • Consistente 64-bits ondersteuning
  • Verbeterde uitzonderingshiërarchie
  • Veel fatale fouten geconverteerd naar uitzonderingen
  • Beveiligde willekeurige nummergenerator
  • Verwijderd oude en niet-ondersteunde SAPI's en uitbreidingen
  • De nul-coalescentieoperator (??)
  • Retournering en Scalaire typeaangiften
  • Anonieme lessen
  • Geen kostenpost

php.net 


Is dat mogelijk om het te installeren op de huidige Ubuntu-versie?

Zijn er huidige beperkingen of bekende compatibiliteitsproblemen?


107
2017-12-04 14:13


oorsprong


Mogelijk duplicaat van Hoe installeer ik een andere (upgrade of downgrade) PHP-versie in de nog steeds ondersteunde Ubuntu-release? - muru
PHP 7 is standaard op Ubuntu 16, Xenial. - Buttle Butkus


antwoorden:


U kunt het volgende doen:

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

Optioneel PHP 5 zuiveren:

sudo apt-get remove php5-common -y

Of zuiver het programma inclusief configuratiebestanden:

sudo apt-get purge php5-common -y

En als laatste installeer je PHP 7:

sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y

Desgewenst achteraf onnodige pakketten opschonen:

sudo apt-get --purge autoremove -y

Als alternatief kunt u PHP 7.0 uit bronnen installeren met behulp van dit script script of het volgen van instructies hierover blog.

BEWERK:

PHP5 is nu geweest vervangen met PHP7 als de standaard PHP in Ubuntu 16.4 dus, om PHP7 te installeren op Ubuntu 16.04:

sudo apt-get install php7.0 

Of

sudo apt-get install php

172
2017-12-04 14:52



Wie heeft de leiding over de ppa? Wordt het officieel ondersteund door zend? - k0pernikus
@ k0pernikus Zend ondersteunt niet officieel iets buiten hun Zend Server :-) Officiële Ubuntu-pakketten worden ondersteund door Ubuntu's beheerders. Deze PPA is een persoonlijke inspanning van Ondřej Surý. Ondrey is de officiële eigenaar van de PHP-structuur in Debian, die stroomopwaarts is van Ubuntu. Kijk hier: qa.debian.org/developer.php?login=ondrej%40debian.org - Palantir
Hoe dan ook, zijn PHP PPA's erg populair, tot het punt waarop de officiële Magento-distributie de 5.5 en 5.6-versie adverteert: devdocs.magento.com/guides/v2.0/install-gde/prereq/... - Palantir
JFTR memcached is nog niet upstream klaar voor PHP 7.0. Ik heb niet naar memcache gekeken en nog steeds kleinere bugs uitgekeken na het ingrijpend herschrijven van verpakkingsscripts. - oerdnj
@Xeridea Probeer sudo apt-get install libapache2-mod-php7.0, dan sudo a2enmod php7.0 start dan Apache opnieuw - andrewtweber


Je hebt twee opties:

  • Wacht tot er een nieuwe Ubuntu-release is met PHP7

    Ubuntu zal geen belangrijke nieuwe versie-releases van de meeste software vrijgeven voor bestaande Ubuntu-versies; om een ​​belangrijke nieuwe versie-release te krijgen, zou je moeten wachten tot een nieuwere versie van Ubuntu.

  • Installeer een externe versie, bijvoorbeeld van een PPA

    PPA's zijn niet gebonden aan de releaseplanningen of het beleid van Ubuntu, dus ze zijn vrij om onder andere vaker van versie te veranderen. De PPA genoemd in het antwoord van Tshilidzi Mudau is een populaire manier om meer op de hoogte te blijven van PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    PPA's worden niet geleverd met dezelfde officiële Ubuntu-ondersteuning als door Ubuntu geleverde versies en vanwege verschillende schema's en beleidsregels kan dit van een andere kwaliteits- of beveiligingsstandaard zijn. In dit geval is de ontwikkelaar die deze PPA beschikbaar maakt, hier bekend bij de gemeenschap.


20
2017-12-06 13:00



En de optie om te installeren vanaf de bron. - j0h


Hier is mijn lijst met opdrachten om PHP volledig te updaten met zijn afhankelijkheden, waaronder phpMyAdmin (volledige LAMP-stack):

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get update
sudo apt-get purge php5-fpm
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2

Nu heb je PHP7. Laten we voor phpMyAdmin gaan: (begin hier als je PHP7 al hebt geïnstalleerd)

cd /var/www/html/
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.5.3.1/phpMyAdmin-4.5.3.1-all-languages.zip
sudo unzip phpMyAdmin-4.5.3.1-all-languages.zip
sudo mv phpMyAdmin-4.5.3.1-all-languages/ phpmyadmin/
sudo mkdir -m 777 phpmyadmin/config/
sudo /etc/init.d/apache2 restart

17
2018-01-25 11:22



libapache2-mod-php7.0 is precies wat ik nodig heb, bedankt! - Jacer Omri


Voor Ubuntu 16.04 is PHP7 nu de standaard officiële upstream-versie.

sudo apt install php

hier is een handige handleiding voor het instellen van een LAMP-stapel op 16.04.


10
2017-07-12 23:13





Het bovenstaande proces werkte niet voor mijn Ubuntu 15.10-server, dus ik dacht dat ik zou delen wat wel werkte, voor het geval anderen het nuttig vinden.

Eerst moest ik bepaalde belangrijke PHP 5-modules verwijderen:

sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite

Verwijder vervolgens een paar extra dingen die zijn achtergelaten:

sudo apt-get autoremove

Installeer vervolgens PHP 7.0:

sudo apt-get install php7.0

Toen PHPMyAdmin was verwijderd, startte Apache2 niet, dus moest ik het configuratiebestand verwijderen (ik had het in plaats daarvan kunnen verplaatsen):

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Toen moest ik Apache2 herstarten:

sudo service apache2 restart

PHP 7.0 was toen actief (bevestigd met PHPINFO();)

Ik heb echter geconstateerd dat de enige manier om PHPMyAdmin te laten werken is om het handmatig te installeren / upgraden, omdat anders de laatste beschikbare versie in de bronnen PHP 7 nog niet ondersteunt.

** EDIT: ik heb nu een manier gevonden om PHPMyAdmin bijgewerkt te krijgen naar een compatibele versie zonder te klonen van GIT of handmatig te compileren van bronnen, dus ik voeg dit hieronder toe:

Voeg eerst deze repository toe, update de bronnenlijst en upgrade (NB: als het tijdens de upgrade naar PHP7 is verwijderd, moet je het installeren in plaats van het te upgraden):

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade

Tijdens de installatie (op mijn server) moest het echter een database-upgrade-script uitvoeren upgrade_column_info_4_3_0+.sql maar dit mislukte met de volgende fout:

mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'

Ik heb ervoor gekozen om de fout te negeren en de upgrade te voltooien. Na de installatie heb ik het .sql-upgrade-script geopend op /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Ik heb het script handmatig uitgevoerd door de twee overtredende regels te verwijderen en te proberen twee kolommen te maken die al bestonden (code om te verwijderen):

ALTER TABLE `pma__column_info`
ADD `input_transformation` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD `input_transformation_options` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

Uiteindelijk moest ik het config-bestand bewerken op /etc/phpmyadmin/config.inc.php en voeg de volgende twee regels toe:

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Hierna is PHPMyAdmin met succes bijgewerkt en zijn de uitgebreide functies ingeschakeld. Ik hoop dat dit anderen helpt.


6
2017-12-23 18:08





Op het moment van dit antwoord (februari 2017), op Ubuntu 16.04 LTS, is het nu mogelijk om php 7.0. * Te installeren met de eenvoudige opdracht:

apt-get install php

Het is niet nodig om opslagplaatsen van derden toe te voegen.


4
2018-02-02 02:07





ik denk de ppa is toegevoegd in 16.04 LTS.

  1. Gewoon doen sudo apt-get install php7.0 en dat is het.
  2. Controleer of het is geïnstalleerd door het uit te voeren php --version
  3. U kunt ook de info.php bestand in de document root van Apache.
  4. Dat is in /var/www/html/ directory
  5. Rennen sudo gedit /var/www/html/info.php
  6. Voeg het volgende toe aan het bestand: <?php phpinfo(); ?>. Opmerking: het bestand is een leeg bestand sinds u het zelf hebt gemaakt.
  7. Start nu apache opnieuw sudo service apache2 restart 
  8. In je webbrowser, http://localhost/info.php dat geeft je volledige info over php.

Ik hoop dat dit helpt :)


3
2017-08-11 08:35



Moet ik het niet aan Apache2 toevoegen? - Arlen Beiler
Het is geen ppa, het is de officiële ubuntu-build. - Jeff Puckett


Ik heb een aantal verschillende bronnen verzameld en veel problemen opgelost om een ​​build van PHP 7 op Ubuntu 15.04 en 15.10 volledig in te stellen. Hoewel het geen Debian-pakket script is, stelt het Ubuntu afhankelijkheden en configuratie in. De middelen zijn te vinden hier.

Mogelijk moet u een releasetak selecteren over alleen de master en het script opnieuw uitvoeren.


2
2018-01-20 20:29