Como instalar o PHP 7?

114

O PHP 7 saiu ontem e eu gostaria de experimentá-lo.

PHP 7.0.0 comes with a new version of the Zend Engine, numerous improvements and new features such as

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6
  • Significantly reduced memory usage
  • Abstract Syntax Tree
  • Consistent 64-bit support
  • Improved Exception hierarchy
  • Many fatal errors converted to Exceptions
  • Secure random number generator
  • Removed old and unsupported SAPIs and extensions
  • The null coalescing operator (??)
  • Return and Scalar Type Declarations
  • Anonymous Classes
  • Zero cost asserts

php.net

É possível instalá-lo na versão atual do Ubuntu?

Existe alguma limitação atual ou problemas de compatibilidade conhecidos?

    
por hg8 04.12.2015 / 15:13

9 respostas

180

Você pode fazer o seguinte:

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

Opcionalmente, elimine o PHP 5:

sudo apt-get remove php5-common -y

Ou limpe-o diretamente, incluindo arquivos de configuração:

sudo apt-get purge php5-common -y

E finalmente instale o PHP 7:

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

Opcionalmente, limpe os pacotes desnecessários depois:

sudo apt-get --purge autoremove -y

Alternativamente, você pode instalar o PHP 7.0 a partir de fontes usando este script script ou seguindo as instruções neste blog .

EDITAR:

O PHP5 agora foi substituído com o PHP7 como o PHP padrão no Ubuntu 16.4, para instalar o PHP7 no Ubuntu 16.04:

sudo apt-get install php7.0 

Ou

sudo apt-get install php
    
por Tshilidzi Mudau 04.12.2015 / 15:52
20

Você tem duas opções:

  • Espere até que haja uma nova versão do Ubuntu que inclua o PHP7

    O Ubuntu não lançará novas versões importantes para a maioria dos softwares para versões existentes do Ubuntu; para obter uma versão nova e importante, você precisaria esperar até uma versão mais nova do Ubuntu.

  • Instale uma versão de terceiros, como de um PPA

    Os PPAs não estão limitados pelos cronogramas ou políticas de lançamento do Ubuntu, portanto, eles estão livres para alterar as versões com mais frequência, entre outras coisas. O PPA mencionado na resposta de Tshilidzi Mudau é uma maneira popular de se manter mais atualizado com o PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    Os PPAs não vêm com o mesmo suporte oficial do Ubuntu que as versões fornecidas pelo Ubuntu, e devido a diferentes horários e políticas podem ter um padrão diferente de qualidade ou segurança. Neste caso, o desenvolvedor que disponibiliza este PPA é bem conhecido da comunidade aqui.

por thomasrutter 06.12.2015 / 14:00
18

Aqui está minha lista de comandos para atualizar completamente o PHP com suas dependências, incluindo o phpMyAdmin (pilha LAMP completa):

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

Agora você tem o PHP7. Vamos para o phpMyAdmin: (comece aqui se você já tem o PHP7 instalado)

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
    
por Jarek Jakubowski 25.01.2016 / 12:22
10

Para o Ubuntu 16.04, o PHP7 é agora a versão upstream oficial padrão.

sudo apt install php

Aqui está um guia prático para configurar uma pilha LAMP em 16.04 .

    
por Jeff Puckett 13.07.2016 / 01:13
7

O processo acima não funcionou para o meu servidor Ubuntu 15.10, então eu pensei em compartilhar o que funcionou no caso de outros acharem útil.

Primeiro eu tive que remover certos módulos chave do 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

Em seguida, remova algumas coisas extras que foram deixadas para trás:

sudo apt-get autoremove

Em seguida, instale o PHP 7.0:

sudo apt-get install php7.0

Então, quando o PHPMyAdmin foi removido, o Apache2 não iniciava, então tive que remover o arquivo de configuração (eu poderia ter movido ele):

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

Depois tive que reiniciar o Apache2:

sudo service apache2 restart

O PHP 7.0 foi então executado (confirmado com PHPINFO(); )

No entanto, descobri que a única maneira de fazer com que o PHPMyAdmin funcione é instalá-lo / atualizá-lo manualmente, caso contrário, a versão mais recente disponível nas fontes ainda não suporta o PHP 7.

** EDIT: Agora eu encontrei uma maneira de atualizar o PHPMyAdmin para uma versão compatível sem ter que clonar do GIT ou compilar manualmente a partir de fontes, então estou adicionando isso abaixo:

Primeiro adicione este repositório, atualize a lista de fontes e atualize (NB: se ele foi removido durante a atualização para o PHP7 você precisará instalar em vez de atualizá-lo):

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

No entanto, durante a instalação (no meu servidor), foi necessário executar um script de atualização do banco de dados upgrade_column_info_4_3_0+.sql , mas isso falhou com o seguinte erro:

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

Eu escolhi ignorar o erro e concluir a atualização. Após a instalação, abri o script de atualização .sql em /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Eu executei o script removendo manualmente as duas linhas problemáticas tentando criar duas colunas que já existiam (código a ser removido):

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

Por fim, tive de editar o arquivo de configuração em /etc/phpmyadmin/config.inc.php e adicionar as duas linhas a seguir:

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

Depois disso, o PHPMyAdmin é atualizado com êxito e os recursos estendidos são ativados. Espero que isso ajude os outros.

    
por Robin Wilson 23.12.2015 / 19:08
4

No momento desta resposta (fevereiro de 2017), no Ubuntu 16.04 LTS, agora é possível instalar o php 7.0. * com o comando simples:

apt-get install php

Não é necessário adicionar repositórios de terceiros.

    
por Leo Galleguillos 02.02.2017 / 03:07
3

Acho que o ppa foi adicionado em 16.04 LTS.

  1. Basta fazer sudo apt-get install php7.0 e pronto.
  2. Verifique se ele foi instalado executando php --version
  3. Além disso, você pode criar o arquivo info.php na raiz do documento do Apache.
  4. Isso está no diretório /var/www/html/
  5. Executar sudo gedit /var/www/html/info.php
  6. Adicione o seguinte ao arquivo: <?php phpinfo(); ?> . Nota: o arquivo é um arquivo em branco desde que você o criou.
  7. Agora reinicie o apache sudo service apache2 restart
  8. No seu navegador, http://localhost/info.php , você terá informações completas sobre o php.

Espero que isso ajude:)

    
por Collin 11.08.2016 / 10:35
2

Eu coletei alguns recursos diferentes e resolvi muitos problemas para configurar completamente uma compilação do PHP 7 no Ubuntu 15.04 e 15.10. Embora não seja um script de pacote do Debian, ele configura dependências e configurações do Ubuntu. Os recursos podem ser encontrados aqui .

Você pode precisar selecionar um branch de lançamento apenas master e re-executar o script.

    
por m1st0 20.01.2016 / 21:29
2

Eu sei que isso pode ser uma má ideia, mas é assim que consegui que o php7 trabalhasse com a minha instalação do Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

Em seguida, acrescente o seguinte no final:

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

Em seguida, atualize como faria normalmente:

sudo apt-get update

Uma vez que você tenha o PHP 7 instalado no seu servidor apache, você pode ter que mover seus arquivos para um novo diretório para funcionar:

sudo mv /var/www/* /var/www/html/
    
por KimChoJapFan 19.01.2017 / 06:12

Tags