Я использую 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;
Версия 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 минут.
Можно установить более новое, вручную. Но в целом, Вы не хотите делать это, потому что необходимо вручную загрузить обновления и сборку снова.
Точка выпусков LTS является устойчивостью. Вы знаете, что версия PHP, поставленная сегодня в 18,04, будет сохраняться с обновлениями системы защиты в течение пяти лет, не имея необходимость обновлять версию - который может привести к проблемам с программами, который зависит от текущей версии.
18.04 имеет PHP 7.2 в наличии. Это может быть хорошая процедура обновления от 16,04, поскольку оба - выпуски LTS, который имеет пятилетний период поддержки.
Относительно безопасности не полагайтесь на версию для этого. Специалисты по обслуживанию Ubuntu и специалисты по обслуживанию Debian бэкпортируют патчи безопасности от восходящего потока в поддерживаемые пакеты в течение тех пяти лет.
Сделал следующее, чтобы обновить 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
Вышеупомянутое: