Обновите до последней версии PHP в человечности 16.04

Я использую NextCloud в своем сервере, и NextCloud сообщает мне что:

Вы в настоящее время выполняете PHP 7.0.32-0ubuntu0.16.04.1. Обновите свою версию PHP для использования в своих интересах производительности и обновлений системы защиты, обеспеченных PHP Group, как только распределение поддерживает ее.

Так, я пытался обновить меня ОС (Ubuntu 16.04) путем выполнения:

apt-get update apt-get dist-update

Затем я перезапустил сервер, и я повторно выполнил вышеупомянутые команды. В конце концов, они, когда я соединяюсь от терминала, я добираюсь:

Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-83-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 packages can be updated.
0 updates are security updates.

и моя версия PHP тиха PHP 7.0.32-0ubuntu0.16.04.1 (cli) ( NTS ).

Это означает, что PHP 7.0.32 является последней версией, которую я могу установить в человечности 16.04;

7
задан 22 January 2019 в 07:02

3 ответа

Версия PHP по умолчанию для Ubuntu 16.04 7.0. Если Вы хотите установить новую версию PHP на 16,04, необходимо использовать дополнительный PPA (поскольку его показывают ниже), или необходимо скомпилировать его самостоятельно.

Мой сервер с Ubuntu 16.04 в настоящее время использует PHP 7.2 и существует несколько операционных экземпляров WordPress и MediaWiki. Веб-сервер является Apache 2.4. Команды, которые я раньше перемещал от PHP 7.0 до 7,2:

# Add the repository 'ppa:ondrej/php'
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

# Install PHP 7.2
sudo apt install -y php7.2 php7.2-cli libapache2-mod-php7.2
sudo apt install -y php-imagick php-gettext php-memcache php-apcu php-pear php-xml php-xmlrpc
sudo apt install -y php-memcached php-mysql php-intl php-mbstring php-curl php-gd
sudo apt install -y php7.2-common php7.2-mysql php7.2-cgi 
sudo apt install -y php7.2-curl php7.2-zip php7.2-mbstring php7.2-xmlrpc php7.2-gd php7.2-xml php7.2-xsl
sudo apt install -y php7.2-dev php7.2-bz2 php7.2-intl php7.2-json php7.2-opcache php7.2-readline 
sudo apt install -y php7.2-imap php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-bcmath #php7.2-mcrypt

# Update the Apache's PHP version
sudo a2dismod php7.0
sudo a2enmod php7.2
sudo systemctl restart apache2.service

# Update the CLI PHP version
sudo update-alternatives --set php /usr/bin/php7.2

В репозитории ppa:ondrej/php PHP 7.3 также доступен, я думаю для миграции скоро на эту последнюю версию. Вот дополнительные тонкие настройки моего /etc/php/7.2/apache2/php.ini это сделано согласно немногим руководства MediaWiki и WordPress:

zlib.output_compression = On
max_execution_time = 600
max_input_vars = 3000
memory_limit = 512M
post_max_size = 256M
upload_max_filesize = 128M
allow_url_fopen = Off
pcre.backtrack_limit=1000000
session.cookie_secure = True
session.gc_maxlifetime = 14400
session.cache_expire = 540
mbstring.encoding_translation = On

Обновление:

Вчера, я использовал вышеупомянутый набор команд для установки PHP 7.3 на Ubuntu 16.04, и все пошло абсолютно прекрасное. Просто замените 7.2 7,3 в рамках этих команд - весь процесс занял приблизительно 7 минут.

11
ответ дан 23 November 2019 в 06:20

Можно установить более новое, вручную. Но в целом, Вы не хотите делать это, потому что необходимо вручную загрузить обновления и сборку снова.

Точка выпусков LTS является устойчивостью. Вы знаете, что версия PHP, поставленная сегодня в 18,04, будет сохраняться с обновлениями системы защиты в течение пяти лет, не имея необходимость обновлять версию - который может привести к проблемам с программами, который зависит от текущей версии.

18.04 имеет PHP 7.2 в наличии. Это может быть хорошая процедура обновления от 16,04, поскольку оба - выпуски LTS, который имеет пятилетний период поддержки.

Относительно безопасности не полагайтесь на версию для этого. Специалисты по обслуживанию Ubuntu и специалисты по обслуживанию Debian бэкпортируют патчи безопасности от восходящего потока в поддерживаемые пакеты в течение тех пяти лет.

1
ответ дан 23 November 2019 в 06:20

Сделал следующее, чтобы обновить php 7.1 с php 7.0 в январе 2021 года, и это сработало

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get remove php7.0 (THIS IS OPTIONAL)
$ sudo apt-get install php7.1
$ sudo apt-get install php7.1-mysqli
$ sudo apt-get install php7.1-curl
$ sudo apt-get install php7.1-xml
$ sudo apt-get install php7.1-mbstring
$ service apache2 restart

Вышеупомянутое:

  • Установите vanilla php 7.1 без расширений
  • Установите некоторые из более распространенные расширения (mysqli, curl, xml, mbstring)
  • Перезапустите apache, чтобы завершить установку
0
ответ дан 8 January 2021 в 01:02

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

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