Come installare PHP 7?

108

PHP 7 è uscito ieri e vorrei provarlo.

% Bl0ck_qu0te%

È possibile installarlo sulla versione attuale di Ubuntu?

Esistono limitazioni attuali o problemi noti di compatibilità?

    
posta hg8 04.12.2015 - 15:13
fonte

9 risposte

173

Puoi fare quanto segue:

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

Elimina facoltativamente PHP 5:

sudo apt-get remove php5-common -y

O eliminalo direttamente, inclusi i file di configurazione:

sudo apt-get purge php5-common -y

Infine installa PHP 7:

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

Facoltativamente ripulire i pacchetti non necessari in seguito:

sudo apt-get --purge autoremove -y

In alternativa, puoi installare PHP 7.0 dai sorgenti usando questo script script o seguendo le istruzioni su questo blog .

Modifica

PHP5 è ora stato sostituito con PHP7 come PHP predefinito in Ubuntu 16.4 quindi, per installare PHP7 su Ubuntu 16.04:

sudo apt-get install php7.0 

O

sudo apt-get install php
    
risposta data Tshilidzi Mudau 04.12.2015 - 15:52
fonte
20

Hai due opzioni:

  • Attendi fino a quando non ci sarà una nuova versione di Ubuntu che include PHP7

    Ubuntu non rilascerà le nuove versioni principali della maggior parte del software alle versioni esistenti di Ubuntu; per ottenere una nuova versione della versione, è necessario attendere una versione più recente di Ubuntu.

  • Installa una versione di terze parti, ad esempio da un PPA

    I PPA non sono vincolati dai programmi o dalle politiche di rilascio di Ubuntu, quindi sono liberi di cambiare versioni più frequentemente, tra le altre cose. Il PPA menzionato nella risposta di Tshilidzi Mudau è un modo popolare per rimanere aggiornati con PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    Gli PPA non vengono forniti con lo stesso supporto ufficiale di Ubuntu delle versioni fornite da Ubuntu e, a causa di programmi e politiche differenti, possono essere di qualità o standard di sicurezza diversi. In questo caso, lo sviluppatore che rende disponibile questo PPA è ben noto alla comunità qui.

risposta data thomasrutter 06.12.2015 - 14:00
fonte
17

Ecco la mia lista di comandi per aggiornare completamente PHP con le sue dipendenze, incluso phpMyAdmin (stack LAMP completo):

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

Ora hai PHP7. Andiamo su phpMyAdmin: (inizia da qui se hai già installato PHP7)

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
    
risposta data Jarek Jakubowski 25.01.2016 - 12:22
fonte
10

Per Ubuntu 16.04, PHP7 ora è la versione ufficiale ufficiale di upstream.

sudo apt install php

Ecco una guida pratica per configurare uno stack LAMP su 16.04 .

    
risposta data Jeff Puckett 13.07.2016 - 01:13
fonte
6

Il processo sopra descritto non ha funzionato con il mio server Ubuntu 15.10, quindi ho pensato di condividere ciò che funzionava nel caso in cui altri lo trovassero utile.

Per prima cosa ho dovuto rimuovere alcuni moduli chiave di PHP 5:

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

Quindi rimuovi alcune cose extra che sono state lasciate indietro:

sudo apt-get autoremove

Quindi installa PHP 7.0:

sudo apt-get install php7.0

Quindi, quando PHPMyAdmin è stato rimosso, Apache2 non si avviava quindi ho dovuto rimuovere il file di configurazione (avrei potuto spostarlo invece):

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

Poi ho dovuto riavviare Apache2:

sudo service apache2 restart

PHP 7.0 era in esecuzione (confermato con PHPINFO(); )

Tuttavia ho trovato che l'unico modo per far funzionare PHPMyAdmin è installarlo / aggiornarlo manualmente altrimenti l'ultima versione disponibile nelle fonti non supporta ancora PHP 7.

** EDIT: ora ho trovato un modo per far aggiornare PHPMyAdmin a una versione compatibile senza dover clonare da GIT o compilare manualmente da fonti così sto aggiungendo questo di seguito:

Prima aggiungi questo repository, aggiorna l'elenco delle fonti e aggiorna (NB: se è stato rimosso durante l'aggiornamento a PHP7 dovrai installare piuttosto che aggiornarlo):

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

Tuttavia durante l'installazione (sul mio server) è stato necessario eseguire uno script di aggiornamento del database upgrade_column_info_4_3_0+.sql ma questo non è riuscito con il seguente errore:

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

Ho scelto di ignorare l'errore e completare l'aggiornamento. Dopo l'installazione ho aperto lo script di aggiornamento .sql in /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Ho eseguito lo script rimuovendo manualmente le due righe in conflitto cercando di creare 2 colonne già esistenti (codice da rimuovere):

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 '';

Infine ho dovuto modificare il file di configurazione in /etc/phpmyadmin/config.inc.php e aggiungere le seguenti due righe:

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

Dopo che questo PHPMyAdmin è stato aggiornato con successo e le funzionalità estese sono abilitate. Spero che questo aiuti gli altri.

    
risposta data Robin Wilson 23.12.2015 - 19:08
fonte
4

Al momento di questa risposta (febbraio 2017), su Ubuntu 16.04 LTS, ora è possibile installare php 7.0. * con il semplice comando:

apt-get install php

Non è necessario aggiungere repository di terze parti.

    
risposta data Leo Galleguillos 02.02.2017 - 03:07
fonte
3

Penso che ppa sia stato aggiunto in 16.04 LTS.

  1. Semplicemente fai sudo apt-get install php7.0 e il gioco è fatto.
  2. Verifica se è installato eseguendo php --version
  3. Inoltre, puoi creare il file info.php nella root dei documenti di Apache.
  4. Questo è in /var/www/html/ directory
  5. Esegui sudo gedit /var/www/html/info.php
  6. Aggiungi quanto segue al file: <?php phpinfo(); ?> . Nota: il file è un file vuoto poiché lo hai creato tu stesso.
  7. Ora riavvia apache sudo service apache2 restart
  8. Nel tuo browser web, http://localhost/info.php che ti darà informazioni complete su php.

Spero che questo aiuti:)

    
risposta data Collin 11.08.2016 - 10:35
fonte
2

Ho raccolto alcune risorse diverse e ho risolto molti problemi per configurare completamente una build di PHP 7 su Ubuntu 15.04 e 15.10. Sebbene non sia uno script di pacchetto Debian, imposta le dipendenze e la configurazione di Ubuntu. Le risorse possono essere trovate qui .

Potrebbe essere necessario selezionare un ramo di rilascio solo su master e rieseguire lo script.

    
risposta data m1st0 20.01.2016 - 21:29
fonte
2

So che potrebbe essere una cattiva idea, ma è così che ho fatto php7 per funzionare con la mia installazione di Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

Quindi aggiungi quanto segue alla fine:

deb http://us.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.canonical.com/ubuntu trusty partner

Quindi aggiorna come faresti normalmente:

sudo apt-get update

Una volta installato PHP 7 sul tuo server Apache, potresti dover spostare i tuoi file in una nuova directory per funzionare:

sudo mv /var/www/* /var/www/html/
    
risposta data KimChoJapFan 19.01.2017 - 06:12
fonte

Leggi altre domande sui tag