Как установить PHP 7?

104

PHP 7 вышел вчера , и я хотел бы попробовать.

  

PHP 7.0.0 поставляется с новой версией Zend Engine, многочисленными улучшениями и новыми функциями, такими как

     
  • Повышенная производительность: PHP 7 до двух раз быстрее, чем PHP 5.6
  •   
  • Значительное сокращение использования памяти.
  •   
  • Абстрактное дерево синтаксиса
  •   
  • Согласованная 64-разрядная поддержка
  •   
  • Улучшенная иерархия исключений
  •   
  • Многие фатальные ошибки, преобразованные в Исключения
  •   
  • Защищенный генератор случайных чисел
  •   
  • Удалены старые и неподдерживаемые SAPI и расширения
  •   
  • Оператор нулевой коалесценции (??)
  •   
  • Объявления декларации типа Return и Scalar
  •   
  • Анонимные классы
  •   
  • Нулевая стоимость утверждает
  •   

php.net

Возможно ли установить его в текущей версии Ubuntu?

Существуют ли существующие ограничения или известные проблемы совместимости?

    
задан hg8 04.12.2015 в 14:13
источник

9 ответов

165

Вы можете сделать следующее:

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

Необязательно очистить PHP 5:

sudo apt-get remove php5-common -y

Или непосредственно очистите его, включая файлы конфигурации:

sudo apt-get purge php5-common -y

И, наконец, установите PHP 7:

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

По необходимости очистить ненужные пакеты:

sudo apt-get --purge autoremove -y

В качестве альтернативы вы можете установить PHP 7.0 из источников, используя этот сценарий сценарий или следуя инструкциям по этому blog .

EDIT:

PHP5 теперь заменен с PHP7 как PHP по умолчанию в Ubuntu 16.4, поэтому, чтобы установить PHP7 на Ubuntu 16.04:

sudo apt-get install php7.0 

Или

sudo apt-get install php
    
ответ дан Tshilidzi Mudau 04.12.2015 в 14:52
источник
20

У вас есть два варианта:

  • Подождите, пока не появится новая версия Ubuntu, включающая PHP7

    Ubuntu не будет выпускать новые версии новой версии для большинства программных продуктов для существующих версий Ubuntu; для получения новой версии новой версии вам нужно подождать до более новой версии Ubuntu.

  • Установите стороннюю версию, например, из PPA

    PPA не связаны графиками выпуска или политиками Ubuntu, поэтому они могут чаще менять версии чаще, между прочим. PPA, упомянутый в ответе Tshilidzi Mudau, является популярным способом оставаться более современным с PHP.

    sudo add-apt-repository ppa:ondrej/php
    

    PPAs не имеют ту же официальную поддержку Ubuntu, что и версии, выпущенные Ubuntu, и из-за разных расписаний и политик могут иметь другой стандарт качества или безопасности. В этом случае разработчик, который делает этот доступ PPA, хорошо известен сообществу здесь.

ответ дан thomasrutter 06.12.2015 в 13:00
17

Вот мой список команд для полного обновления PHP с его зависимостями, включая phpMyAdmin (полный стек LAMP):

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

Теперь у вас есть PHP7. Пойдем для phpMyAdmin: (начните здесь, если у вас уже установлен 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
    
ответ дан Jarek Jakubowski 25.01.2016 в 11:22
9

Для Ubuntu 16.04 PHP7 теперь является официальной версией предыдущего выпуска.

sudo apt install php

Вот удобное руководство для настройки стека LAMP на 16.04 .

    
ответ дан Jeff Puckett 12.07.2016 в 23:13
6

Вышеупомянутый процесс не работал для моего сервера Ubuntu 15.10, поэтому я решил поделиться тем, что работало, если другие считают его полезным.

Сначала мне пришлось удалить некоторые ключевые модули 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

Затем удалите несколько лишних вещей, которые остались позади:

sudo apt-get autoremove

Затем установите PHP 7.0:

sudo apt-get install php7.0

Затем, когда PHPMyAdmin был удален, Apache2 не запустился, поэтому мне пришлось удалить файл конфигурации (я мог бы переместить его):

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

Затем мне пришлось перезапустить Apache2:

sudo service apache2 restart

Затем был запущен PHP 7.0 (подтвержден с помощью PHPINFO(); )

Однако я нашел единственный способ заставить PHPMyAdmin работать, чтобы установить / обновить его вручную, поскольку в противном случае последняя версия, доступная в источниках, еще не поддерживает PHP 7.

** EDIT: теперь я нашел способ обновить PHPMyAdmin до совместимой версии без необходимости клонирования из GIT или компиляции вручную из источников, поэтому я добавляю это ниже:

Сначала добавьте этот репозиторий, список источников обновлений и обновления (NB: если он был удален во время обновления до PHP7, вам нужно будет установить его, а не обновить):

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

Однако во время установки (на моем сервере) ему пришлось запустить скрипт обновления базы данных upgrade_column_info_4_3_0+.sql , но это не удалось со следующей ошибкой:

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

Я решил проигнорировать ошибку и завершить обновление. После установки я открыл сценарий обновления .sql в /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Я запустил скрипт, вручную удалив две строки нарушения, пытающиеся создать 2 столбца, которые уже существуют (код для удаления):

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

Наконец, мне пришлось отредактировать файл конфигурации в /etc/phpmyadmin/config.inc.php и добавить следующие две строки:

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

После этого PHPMyAdmin успешно обновляется и расширенные функции включены. Надеюсь, это поможет другим.

    
ответ дан Robin Wilson 23.12.2015 в 18:08
4

Во время этого ответа (февраль 2017 г.), на Ubuntu 16.04 LTS, теперь можно установить php 7.0. * с помощью простой команды:

apt-get install php

Не нужно добавлять сторонние репозитории.

    
ответ дан Leo Galleguillos 02.02.2017 в 02:07
3

Я думаю, что ppa добавлено в 16.04 LTS.

  1. Просто просто sudo apt-get install php7.0 и все.
  2. Проверьте, установлен ли он, запустив php --version
  3. Кроме того, вы можете создать файл info.php в корневом каталоге Apache.
  4. В каталоге /var/www/html/
  5. Запустить sudo gedit /var/www/html/info.php
  6. Добавьте в файл следующее: <?php phpinfo(); ?> . Примечание. Файл является пустым файлом, так как вы его создали сами.
  7. Теперь перезапустите apache sudo service apache2 restart
  8. В вашем веб-браузере http://localhost/info.php , который даст вам полную информацию о php.

Надеюсь, что это поможет:)

    
ответ дан Collin 11.08.2016 в 08:35
2

Я собрал несколько разных ресурсов и решил много проблем, чтобы полностью настроить сборку PHP 7 на Ubuntu 15.04 и 15.10. Хотя это не скрипт пакета Debian, он устанавливает зависимости и конфигурацию Ubuntu. Ресурсы можно найти здесь .

Вам может потребоваться выбрать ветвь релиза только для мастера и перезапустить скрипт.

    
ответ дан m1st0 20.01.2016 в 20:29
2

Я знаю, что это может быть плохой идеей, но именно так я получил php7 для работы с моей установкой Ubuntu Server 12.04.5 (i386):

sudo nano /etc/apt/sources.list

Затем добавьте следующее в конце:

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

Затем обновите, как обычно:

sudo apt-get update

Как только у вас установлен PHP 7 на вашем сервере apache, вам, возможно, придется переместить файлы в новый каталог для работы:

sudo mv /var/www/* /var/www/html/
    
ответ дан KimChoJapFan 19.01.2017 в 05:12