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

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

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

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

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

1
задан 13 July 2016 в 02:45

8 ответов

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

Подождите, пока не появится новая версия Ubuntu, включающая PHP7. Ubuntu не выпустит выпуски основных версий новой версии для большинства программных продуктов для существующих версий Ubuntu; для получения новой версии новой версии вам нужно будет подождать до более новой версии Ubuntu. Установка сторонней версии, например, из PPA PPA, не связана графиками выпуска или политиками Ubuntu, поэтому они могут чаще менять версии чаще всего. PPA, упомянутый в ответе Tshilidzi Mudau, является популярным способом оставаться более современным с PHP.
sudo add-apt-repository ppa:ondrej/php
PPA не поставляются с той же официальной поддержкой Ubuntu, что и версии, выпущенные Ubuntu, и из-за разных расписаний и политик могут иметь другой стандарт качества или безопасности. В этом случае разработчик, который делает эту доступную PPA, хорошо известен сообществу здесь.
20
ответ дан 23 May 2018 в 15: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
17
ответ дан 23 May 2018 в 15:17
  • 1
    libapache2-mod-php7.0 именно то, что мне нужно, спасибо! – Jacer Omri 27 April 2016 в 17:08

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

sudo apt install php

Вот удобный справочник по настройке стека LAMP на 16.04.

10
ответ дан 23 May 2018 в 15:17

Вышеупомянутый процесс не работал для моего сервера 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 успешно обновляется и расширенные функции включены. Надеюсь, это поможет другим.

6
ответ дан 23 May 2018 в 15:17

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

apt-get install php

Не нужно добавлять никаких третьих -партийные репозитории.

4
ответ дан 23 May 2018 в 15:17

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

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

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

3
ответ дан 23 May 2018 в 15:17

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

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

2
ответ дан 23 May 2018 в 15:17

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

sudo nano /etc/apt/sources.list

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

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

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

sudo apt-get update

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

sudo mv /var/www/* /var/www/html/
2
ответ дан 23 May 2018 в 15:17

Другие вопросы по тегам:

Похожие вопросы: