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

Вышел PHP 7 вчера и я хотел бы попробовать это сделать.

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

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

php.net


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

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

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

sudo apt-get install python-software-properties software-properties-commonsudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/phpsudo 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 из исходных текстов с помощью этого скрипта скрипт или следуя инструкциям по этому поводу блог.

РЕДАКТИРОВАТЬ:

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

sudo apt-get install php7.0 

Или

sudo apt-get install php

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

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

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

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

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

    sudo add-apt-repository ppa:ondrej/php

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

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

sudo apt-get install python-software-propertiessudo add-apt-repository ppa:ondrej/php-7.0sudo apt-get updatesudo apt-get purge php5-fpmsudo 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.zipsudo unzip phpMyAdmin-4.5.3.1-all-languages.zipsudo mv phpMyAdmin-4.5.3.1-all-languages/ phpmyadmin/sudo mkdir -m 777 phpmyadmin/config/sudo /etc/init.d/apache2 restart

Для Ubuntu 16.04 PHP7 теперь является официальной версией upstream по умолчанию.

sudo apt install php

Вот удобное руководство по настройке стека ЛАМП на 16.04.

Описанный выше процесс не работал на моем сервере 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.

** РЕДАКТИРОВАТЬ: теперь я нашел способ обновить phpMyAdmin до совместимой версии без необходимости клонирования из GIT или компиляции вручную из исходных текстов, поэтому я добавляю это ниже:

Сначала добавьте этот репозиторий, обновите список источников и обновите (ПРИМЕЧАНИЕ: если он был удален во время обновления до PHP7, вам нужно будет установить, а не обновлять его):

sudo add-apt-repository ppa:nijel/phpmyadminsudo apt-get updatesudo 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 будет успешно обновлен и расширенные функции будут включены.Надеюсь, это поможет другим.

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

apt-get install php

Нет необходимости добавлять какие-либо сторонние репозитории.

Я думаю 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.

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

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

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

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

sudo nano /etc/apt/sources.list

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

деб http://us.archive.ubuntu.com/ubuntu / надежная основная ограниченная вселенная multiversedeb http://archive.canonical.com/ubuntu надежный партнер

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

sudo apt-получить обновление

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

sudo mv /var/www/* /var/www/html/

Возможный дубликат Как мне установить другую (обновить или понизить) версию PHP в все еще поддерживаемой Ubuntu release?

PHP 7 установлен по умолчанию в Ubuntu 16, Ubuntu.