Обновляем PHP на новую версию в FreeBSD

Задача:
---------------------------------------------------------------Обновить в операционной системе FreeBSD версию PHP 7.3 до версии PHP 7.4
Я уже касался темы PHP в одной из статей: «Установка PHP 7.3 в ОС FreeBSD 11.2«. Вернуться к ней пришлось из-за ошибки обновления одного из приложений в облаке NextCloud.
После того как я получил сообщение:
Для приложения «Passwords» доступно обновление до версии 2021
почитал о том какие обновления содержит «Passwords»
Removed
Nextcloud 17, 18 and 19 support
PHP 7.2 and PHP 7.3 support
Попытался обновить через веб-интерфейс и получил ошибку всего сервера nextcloud. Обновление в консоли болы более информативно.
root@cloud:/ # sudo -u www php occ app:enable passwords The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php App "Passwords" cannot be installed because the following dependencies are not fulfilled: PHP 7.4 or higher is required. root@cloud:/ #
Решение обновиться до версии PHP 7.4, пришло само собой. Есть пользователи которые пользуются облаком и приложением для хранения паролей. В совокупности с плагином для браузера, получается аналог похожий на менеджер паролей в chrome.
Информация о системе:
root@cloud:/ # uname -a
FreeBSD cloud 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC amd64
root@cloud:/ # nginx -v
nginx version: nginx/1.18.0
root@cloud:/ # mysql -V
mysql Ver 15.1 Distrib 10.3.27-MariaDB, for FreeBSD12.1 (amd64) using readline 5.1
root@cloud:/ # php-fpm -v
PHP 7.3.25 (fpm-fcgi) (built: Dec 10 2020 01:31:51)
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.25, Copyright (c) 1999-2018, by Zend Technologies
root@cloud:/ # sudo -u www php occ status
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
- installed: true
- version: 20.0.4.0
- versionstring: 20.0.4
- edition:
root@cloud:/ # sudo -u www php occ upgrade
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see http://php.net/manual/en/book.pcntl.php
Nextcloud is already latest version
root@cloud:/ # cat /usr/local/etc/php.conf
PHP_VER=73
PHP_VERSION=7.3.25
PHP_SAPI=cli cgi fpm embed
PHP_EXT_INC=pcre spl
PHP_EXT_DIR=20180731
root@cloud:/ #
Получаем информацию об установленных пакетах PHP
root@cloud:/ # pkg info | grep php | awk '{print $1}'
php73-7.3.25
php73-bcmath-7.3.25
php73-bz2-7.3.25
php73-ctype-7.3.25
php73-curl-7.3.25
php73-dom-7.3.25
php73-exif-7.3.25
php73-extensions-1.0
php73-fileinfo-7.3.25
php73-filter-7.3.25
php73-ftp-7.3.25
php73-gd-7.3.25
php73-gmp-7.3.25
php73-hash-7.3.25
php73-iconv-7.3.25
php73-imap-7.3.25
php73-intl-7.3.25
php73-json-7.3.25
php73-mbstring-7.3.25
php73-opcache-7.3.25
php73-openssl-7.3.25
php73-pdo-7.3.25
php73-pdo_mysql-7.3.25
php73-pdo_sqlite-7.3.25
php73-pecl-APCu-5.1.18
php73-pecl-imagick-im7-3.4.4
php73-pecl-memcached-3.1.5
php73-pecl-redis-5.3.1
php73-phar-7.3.25
php73-posix-7.3.25
php73-session-7.3.25
php73-simplexml-7.3.25
php73-sqlite3-7.3.25
php73-tokenizer-7.3.25
php73-xml-7.3.25
php73-xmlreader-7.3.25
php73-xmlwriter-7.3.25
php73-zip-7.3.25
php73-zlib-7.3.25
root@cloud:/ #
Сохраним на всякий случай собранную информацию в файл и проверим содержимое полученного файла
root@cloud:/ # pkg info php73\* > /root/php73_packages.txt root@cloud:/ # cat /root/php73_packages.txt php73-7.3.25 php73-bcmath-7.3.25 php73-bz2-7.3.25 php73-ctype-7.3.25 php73-curl-7.3.25 php73-dom-7.3.25 php73-exif-7.3.25 php73-extensions-1.0 php73-fileinfo-7.3.25 php73-filter-7.3.25 php73-ftp-7.3.25 php73-gd-7.3.25 php73-gmp-7.3.25 php73-hash-7.3.25 php73-iconv-7.3.25 php73-imap-7.3.25 php73-intl-7.3.25 php73-json-7.3.25 php73-mbstring-7.3.25 php73-opcache-7.3.25 php73-openssl-7.3.25 php73-pdo-7.3.25 php73-pdo_mysql-7.3.25 php73-pdo_sqlite-7.3.25 php73-pecl-APCu-5.1.18 php73-pecl-imagick-im7-3.4.4 php73-pecl-memcached-3.1.5 php73-pecl-redis-5.3.1 php73-phar-7.3.25 php73-posix-7.3.25 php73-session-7.3.25 php73-simplexml-7.3.25 php73-sqlite3-7.3.25 php73-tokenizer-7.3.25 php73-xml-7.3.25 php73-xmlreader-7.3.25 php73-xmlwriter-7.3.25 php73-zip-7.3.25 php73-zlib-7.3.25 root@cloud:/ #
Создадим список, который необходимо будет установить. Командами консоли я сформировал список пакетов PHP версии 7.3, которые уже установлены. Затем в названиях заменили 73 на 74 и убрал окончания с информацией содержащей версии. И последним шагом я заменил переносы на следующую строку пробелами и записал вывод в файл
root@cloud:/ # pkg info \*php7\* | sed 's/73/74/' | sed 's/-[0-9].*//' | tr '\n' ' ' > ~/php74_packages_install.txt root@cloud:/ # cat ~/php74_packages_install.txt php74 php74-bcmath php74-bz2 php74-ctype php74-curl php74-dom php74-exif php74-extensions php74-fileinfo php74-filter php74-ftp php74-gd php74-gmp php74-hash php74-iconv php74-imap php74-intl php74-json php74-mbstring php74-opcache php74-openssl php74-pdo php74-pdo_mysql php74-pdo_sqlite php74-pecl-APCu php74-pecl-imagick-im7 php74-pecl-memcached php74-pecl-redis php74-phar php74-posix php74-session php74-simplexml php74-sqlite3 php74-tokenizer php74-xml php74-xmlreader php74-xmlwriter php74-zip php74-zlib root@cloud:/ #
Останавливаем сервис php-fpm
root@cloud:/ # service php-fpm stop Stopping php_fpm. Waiting for PIDS: 14766. root@cloud:/ #
Удаляем пакеты PHP при помощи сформированного файла
root@cloud:/ # cat /root/php73_packages.txt | xargs pkg delete -fy
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 39 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
php73: 7.3.25
php73-bcmath: 7.3.25
php73-bz2: 7.3.25
php73-ctype: 7.3.25
php73-curl: 7.3.25
php73-dom: 7.3.25
php73-exif: 7.3.25
php73-extensions: 1.0
php73-fileinfo: 7.3.25
php73-filter: 7.3.25
php73-ftp: 7.3.25
php73-gd: 7.3.25
php73-gmp: 7.3.25
php73-hash: 7.3.25
php73-iconv: 7.3.25
php73-imap: 7.3.25
php73-intl: 7.3.25
php73-json: 7.3.25
php73-mbstring: 7.3.25
php73-opcache: 7.3.25
php73-openssl: 7.3.25
php73-pdo: 7.3.25
php73-pdo_mysql: 7.3.25
php73-pdo_sqlite: 7.3.25
php73-pecl-APCu: 5.1.18
php73-pecl-imagick-im7: 3.4.4
php73-pecl-memcached: 3.1.5
php73-pecl-redis: 5.3.1
php73-phar: 7.3.25
php73-posix: 7.3.25
php73-session: 7.3.25
php73-simplexml: 7.3.25
php73-sqlite3: 7.3.25
php73-tokenizer: 7.3.25
php73-xml: 7.3.25
php73-xmlreader: 7.3.25
php73-xmlwriter: 7.3.25
php73-zip: 7.3.25
php73-zlib: 7.3.25
Number of packages to be removed: 39
The operation will free 38 MiB.
[1/39] Deinstalling php73-extensions-1.0...
[2/39] Deinstalling php73-pdo_mysql-7.3.25...
[2/39] Deleting files for php73-pdo_mysql-7.3.25: 100%
[3/39] Deinstalling php73-pdo_sqlite-7.3.25...
[3/39] Deleting files for php73-pdo_sqlite-7.3.25: 100%
[4/39] Deinstalling php73-pecl-memcached-3.1.5...
[4/39] Deleting files for php73-pecl-memcached-3.1.5: 100%
[5/39] Deinstalling php73-pecl-redis-5.3.1...
[5/39] Deleting files for php73-pecl-redis-5.3.1: 100%
[6/39] Deinstalling php73-phar-7.3.25...
[6/39] Deleting files for php73-phar-7.3.25: 100%
[7/39] Deinstalling php73-xmlreader-7.3.25...
[7/39] Deleting files for php73-xmlreader-7.3.25: 100%
[8/39] Deinstalling php73-bcmath-7.3.25...
[8/39] Deleting files for php73-bcmath-7.3.25: 100%
[9/39] Deinstalling php73-bz2-7.3.25...
[9/39] Deleting files for php73-bz2-7.3.25: 100%
[10/39] Deinstalling php73-ctype-7.3.25...
[10/39] Deleting files for php73-ctype-7.3.25: 100%
[11/39] Deinstalling php73-curl-7.3.25...
[11/39] Deleting files for php73-curl-7.3.25: 100%
[12/39] Deinstalling php73-dom-7.3.25...
[12/39] Deleting files for php73-dom-7.3.25: 100%
[13/39] Deinstalling php73-exif-7.3.25...
[13/39] Deleting files for php73-exif-7.3.25: 100%
[14/39] Deinstalling php73-fileinfo-7.3.25...
[14/39] Deleting files for php73-fileinfo-7.3.25: 100%
[15/39] Deinstalling php73-filter-7.3.25...
[15/39] Deleting files for php73-filter-7.3.25: 100%
[16/39] Deinstalling php73-ftp-7.3.25...
[16/39] Deleting files for php73-ftp-7.3.25: 100%
[17/39] Deinstalling php73-gd-7.3.25...
[17/39] Deleting files for php73-gd-7.3.25: 100%
[18/39] Deinstalling php73-gmp-7.3.25...
[18/39] Deleting files for php73-gmp-7.3.25: 100%
[19/39] Deinstalling php73-hash-7.3.25...
[19/39] Deleting files for php73-hash-7.3.25: 100%
[20/39] Deinstalling php73-iconv-7.3.25...
[20/39] Deleting files for php73-iconv-7.3.25: 100%
[21/39] Deinstalling php73-imap-7.3.25...
[21/39] Deleting files for php73-imap-7.3.25: 100%
[22/39] Deinstalling php73-intl-7.3.25...
[22/39] Deleting files for php73-intl-7.3.25: 100%
[23/39] Deinstalling php73-json-7.3.25...
[23/39] Deleting files for php73-json-7.3.25: 100%
[24/39] Deinstalling php73-mbstring-7.3.25...
[24/39] Deleting files for php73-mbstring-7.3.25: 100%
[25/39] Deinstalling php73-opcache-7.3.25...
[25/39] Deleting files for php73-opcache-7.3.25: 100%
[26/39] Deinstalling php73-openssl-7.3.25...
[26/39] Deleting files for php73-openssl-7.3.25: 100%
[27/39] Deinstalling php73-pdo-7.3.25...
[27/39] Deleting files for php73-pdo-7.3.25: 100%
[28/39] Deinstalling php73-pecl-APCu-5.1.18...
[28/39] Deleting files for php73-pecl-APCu-5.1.18: 100%
[29/39] Deinstalling php73-pecl-imagick-im7-3.4.4...
[29/39] Deleting files for php73-pecl-imagick-im7-3.4.4: 100%
[30/39] Deinstalling php73-posix-7.3.25...
[30/39] Deleting files for php73-posix-7.3.25: 100%
[31/39] Deinstalling php73-session-7.3.25...
[31/39] Deleting files for php73-session-7.3.25: 100%
[32/39] Deinstalling php73-simplexml-7.3.25...
[32/39] Deleting files for php73-simplexml-7.3.25: 100%
[33/39] Deinstalling php73-sqlite3-7.3.25...
[33/39] Deleting files for php73-sqlite3-7.3.25: 100%
[34/39] Deinstalling php73-tokenizer-7.3.25...
[34/39] Deleting files for php73-tokenizer-7.3.25: 100%
[35/39] Deinstalling php73-xml-7.3.25...
[35/39] Deleting files for php73-xml-7.3.25: 100%
[36/39] Deinstalling php73-xmlwriter-7.3.25...
[36/39] Deleting files for php73-xmlwriter-7.3.25: 100%
[37/39] Deinstalling php73-zip-7.3.25...
[37/39] Deleting files for php73-zip-7.3.25: 100%
[38/39] Deinstalling php73-zlib-7.3.25...
[38/39] Deleting files for php73-zlib-7.3.25: 100%
[39/39] Deinstalling php73-7.3.25...
You may need to manually remove /usr/local/etc/php-fpm.d/www.conf if it is no longer needed.
[39/39] Deleting files for php73-7.3.25: 100%
root@cloud:/ #
Или можно удалить всё касающееся PHP без списка (кому лень возится со списками)
pkg delete -fy \*php7\*
Проверяем наличие PHP пакетов.
root@cloud:/ # pkg info php73\* pkg: No package(s) matching php73* root@cloud:/ #
Устанавливаем пакеты из сформированного ранее файла
root@cloud:/ # pkg install -y 'cat ~/php74_packages_install.txt' Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. pkg: No packages available to install matching 'cat ~/php74_packages_install.txt' have been found in the repositories root@cloud:/ #
Меняем кавычки и проверяем ещё раз. Эти кавычки, в данном случае, означают подстановку команды
root@cloud:/ # pkg install -y `cat ~/php74_packages_install.txt` Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. pkg: No packages available to install matching 'php74-hash' have been found in the repositories root@cloud:/ #
Формируем новый файл без php74-hash
root@cloud:/ # sed 's/php74-hash //g' ~/php74_packages_install.txt > ~/php74_packages_install_v2.txt root@cloud:/ #
Пробуем установить используя новый файл
root@cloud:/ # pkg install -y `cat ~/php74_packages_install_v2.txt`
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 38 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
php74: 7.4.13
php74-bcmath: 7.4.13
php74-bz2: 7.4.13
php74-ctype: 7.4.13
php74-curl: 7.4.13
php74-dom: 7.4.13
php74-exif: 7.4.13
php74-extensions: 1.0
php74-fileinfo: 7.4.13
php74-filter: 7.4.13
php74-ftp: 7.4.13
php74-gd: 7.4.13
php74-gmp: 7.4.13
php74-iconv: 7.4.13
php74-imap: 7.4.13
php74-intl: 7.4.13
php74-json: 7.4.13
php74-mbstring: 7.4.13
php74-opcache: 7.4.13
php74-openssl: 7.4.13
php74-pdo: 7.4.13
php74-pdo_mysql: 7.4.13
php74-pdo_sqlite: 7.4.13
php74-pecl-APCu: 5.1.18
php74-pecl-imagick-im7: 3.4.4
php74-pecl-memcached: 3.1.5
php74-pecl-redis: 5.3.1
php74-phar: 7.4.13
php74-posix: 7.4.13
php74-session: 7.4.13
php74-simplexml: 7.4.13
php74-sqlite3: 7.4.13
php74-tokenizer: 7.4.13
php74-xml: 7.4.13
php74-xmlreader: 7.4.13
php74-xmlwriter: 7.4.13
php74-zip: 7.4.13
php74-zlib: 7.4.13
Number of packages to be installed: 38
The process will require 42 MiB more space.
6 MiB to be downloaded.
[1/38] Fetching php74-7.4.13.txz: 100% 4 MiB 2.1MB/s 00:02
[2/38] Fetching php74-bcmath-7.4.13.txz: 100% 20 KiB 20.0kB/s 00:01
[3/38] Fetching php74-bz2-7.4.13.txz: 100% 11 KiB 10.8kB/s 00:01
[4/38] Fetching php74-ctype-7.4.13.txz: 100% 6 KiB 6.0kB/s 00:01
[5/38] Fetching php74-curl-7.4.13.txz: 100% 31 KiB 31.8kB/s 00:01
[6/38] Fetching php74-dom-7.4.13.txz: 100% 54 KiB 55.4kB/s 00:01
[7/38] Fetching php74-exif-7.4.13.txz: 100% 29 KiB 29.8kB/s 00:01
[8/38] Fetching php74-extensions-1.0.txz: 100% 1 KiB 1.1kB/s 00:01
[9/38] Fetching php74-fileinfo-7.4.13.txz: 100% 268 KiB 274.5kB/s 00:01
[10/38] Fetching php74-filter-7.4.13.txz: 100% 19 KiB 19.7kB/s 00:01
[11/38] Fetching php74-ftp-7.4.13.txz: 100% 24 KiB 24.4kB/s 00:01
[12/38] Fetching php74-gd-7.4.13.txz: 100% 30 KiB 30.6kB/s 00:01
[13/38] Fetching php74-gmp-7.4.13.txz: 100% 19 KiB 19.8kB/s 00:01
[14/38] Fetching php74-iconv-7.4.13.txz: 100% 17 KiB 17.8kB/s 00:01
[15/38] Fetching php74-imap-7.4.13.txz: 100% 31 KiB 31.6kB/s 00:01
[16/38] Fetching php74-intl-7.4.13.txz: 100% 123 KiB 126.0kB/s 00:01
[17/38] Fetching php74-json-7.4.13.txz: 100% 21 KiB 21.5kB/s 00:01
[18/38] Fetching php74-mbstring-7.4.13.txz: 100% 745 KiB 762.9kB/s 00:01
[19/38] Fetching php74-opcache-7.4.13.txz: 100% 200 KiB 205.0kB/s 00:01
[20/38] Fetching php74-openssl-7.4.13.txz: 100% 57 KiB 57.9kB/s 00:01
[21/38] Fetching php74-pdo-7.4.13.txz: 100% 45 KiB 46.5kB/s 00:01
[22/38] Fetching php74-pdo_mysql-7.4.13.txz: 100% 17 KiB 17.0kB/s 00:01
[23/38] Fetching php74-pdo_sqlite-7.4.13.txz: 100% 13 KiB 13.0kB/s 00:01
[24/38] Fetching php74-pecl-APCu-5.1.18.txz: 100% 49 KiB 49.7kB/s 00:01
[25/38] Fetching php74-pecl-imagick-im7-3.4.4.txz: 100% 87 KiB 89.6kB/s 00:01
[26/38] Fetching php74-pecl-memcached-3.1.5.txz: 100% 38 KiB 39.0kB/s 00:01
[27/38] Fetching php74-pecl-redis-5.3.1.txz: 100% 150 KiB 153.9kB/s 00:01
[28/38] Fetching php74-phar-7.4.13.txz: 100% 104 KiB 106.6kB/s 00:01
[29/38] Fetching php74-posix-7.4.13.txz: 100% 12 KiB 12.3kB/s 00:01
[30/38] Fetching php74-session-7.4.13.txz: 100% 35 KiB 36.0kB/s 00:01
[31/38] Fetching php74-simplexml-7.4.13.txz: 100% 23 KiB 23.1kB/s 00:01
[32/38] Fetching php74-sqlite3-7.4.13.txz: 100% 19 KiB 19.6kB/s 00:01
[33/38] Fetching php74-tokenizer-7.4.13.txz: 100% 9 KiB 9.3kB/s 00:01
[34/38] Fetching php74-xml-7.4.13.txz: 100% 19 KiB 19.8kB/s 00:01
[35/38] Fetching php74-xmlreader-7.4.13.txz: 100% 12 KiB 12.5kB/s 00:01
[36/38] Fetching php74-xmlwriter-7.4.13.txz: 100% 13 KiB 12.9kB/s 00:01
[37/38] Fetching php74-zip-7.4.13.txz: 100% 21 KiB 21.1kB/s 00:01
[38/38] Fetching php74-zlib-7.4.13.txz: 100% 18 KiB 18.0kB/s 00:01
Checking integrity... done (0 conflicting)
[1/38] Installing php74-7.4.13...
[1/38] Extracting php74-7.4.13: 100%
[2/38] Installing php74-dom-7.4.13...
[2/38] Extracting php74-dom-7.4.13: 100%
[3/38] Installing php74-pdo-7.4.13...
[3/38] Extracting php74-pdo-7.4.13: 100%
[4/38] Installing php74-ctype-7.4.13...
[4/38] Extracting php74-ctype-7.4.13: 100%
[5/38] Installing php74-filter-7.4.13...
[5/38] Extracting php74-filter-7.4.13: 100%
[6/38] Installing php74-iconv-7.4.13...
[6/38] Extracting php74-iconv-7.4.13: 100%
[7/38] Installing php74-json-7.4.13...
[7/38] Extracting php74-json-7.4.13: 100%
[8/38] Installing php74-opcache-7.4.13...
[8/38] Extracting php74-opcache-7.4.13: 100%
[9/38] Installing php74-pdo_sqlite-7.4.13...
[9/38] Extracting php74-pdo_sqlite-7.4.13: 100%
[10/38] Installing php74-phar-7.4.13...
[10/38] Extracting php74-phar-7.4.13: 100%
[11/38] Installing php74-posix-7.4.13...
[11/38] Extracting php74-posix-7.4.13: 100%
[12/38] Installing php74-session-7.4.13...
[12/38] Extracting php74-session-7.4.13: 100%
[13/38] Installing php74-simplexml-7.4.13...
[13/38] Extracting php74-simplexml-7.4.13: 100%
[14/38] Installing php74-sqlite3-7.4.13...
[14/38] Extracting php74-sqlite3-7.4.13: 100%
[15/38] Installing php74-tokenizer-7.4.13...
[15/38] Extracting php74-tokenizer-7.4.13: 100%
[16/38] Installing php74-xml-7.4.13...
[16/38] Extracting php74-xml-7.4.13: 100%
[17/38] Installing php74-xmlreader-7.4.13...
[17/38] Extracting php74-xmlreader-7.4.13: 100%
[18/38] Installing php74-xmlwriter-7.4.13...
[18/38] Extracting php74-xmlwriter-7.4.13: 100%
[19/38] Installing php74-bcmath-7.4.13...
[19/38] Extracting php74-bcmath-7.4.13: 100%
[20/38] Installing php74-bz2-7.4.13...
[20/38] Extracting php74-bz2-7.4.13: 100%
[21/38] Installing php74-curl-7.4.13...
[21/38] Extracting php74-curl-7.4.13: 100%
[22/38] Installing php74-exif-7.4.13...
[22/38] Extracting php74-exif-7.4.13: 100%
[23/38] Installing php74-extensions-1.0...
[24/38] Installing php74-fileinfo-7.4.13...
[24/38] Extracting php74-fileinfo-7.4.13: 100%
[25/38] Installing php74-ftp-7.4.13...
[25/38] Extracting php74-ftp-7.4.13: 100%
[26/38] Installing php74-gd-7.4.13...
[26/38] Extracting php74-gd-7.4.13: 100%
[27/38] Installing php74-gmp-7.4.13...
[27/38] Extracting php74-gmp-7.4.13: 100%
[28/38] Installing php74-imap-7.4.13...
[28/38] Extracting php74-imap-7.4.13: 100%
[29/38] Installing php74-intl-7.4.13...
[29/38] Extracting php74-intl-7.4.13: 100%
[30/38] Installing php74-mbstring-7.4.13...
[30/38] Extracting php74-mbstring-7.4.13: 100%
[31/38] Installing php74-openssl-7.4.13...
[31/38] Extracting php74-openssl-7.4.13: 100%
[32/38] Installing php74-pdo_mysql-7.4.13...
[32/38] Extracting php74-pdo_mysql-7.4.13: 100%
[33/38] Installing php74-pecl-APCu-5.1.18...
[33/38] Extracting php74-pecl-APCu-5.1.18: 100%
[34/38] Installing php74-pecl-imagick-im7-3.4.4...
[34/38] Extracting php74-pecl-imagick-im7-3.4.4: 100%
[35/38] Installing php74-pecl-memcached-3.1.5...
[35/38] Extracting php74-pecl-memcached-3.1.5: 100%
[36/38] Installing php74-pecl-redis-5.3.1...
[36/38] Extracting php74-pecl-redis-5.3.1: 100%
[37/38] Installing php74-zip-7.4.13...
[37/38] Extracting php74-zip-7.4.13: 100%
[38/38] Installing php74-zlib-7.4.13...
[38/38] Extracting php74-zlib-7.4.13: 100%
=====
Message from php74-dom-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-dom.ini
=====
Message from php74-pdo-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-pdo.ini
=====
Message from php74-ctype-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-ctype.ini
=====
Message from php74-filter-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-filter.ini
=====
Message from php74-iconv-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-iconv.ini
=====
Message from php74-json-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-json.ini
=====
Message from php74-opcache-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-10-opcache.ini
=====
Message from php74-pdo_sqlite-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-pdo_sqlite.ini
=====
Message from php74-phar-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-phar.ini
=====
Message from php74-posix-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-posix.ini
=====
Message from php74-session-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-18-session.ini
=====
Message from php74-simplexml-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-simplexml.ini
=====
Message from php74-sqlite3-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-sqlite3.ini
=====
Message from php74-tokenizer-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-tokenizer.ini
=====
Message from php74-xml-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-xml.ini
=====
Message from php74-xmlreader-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-xmlreader.ini
=====
Message from php74-xmlwriter-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-xmlwriter.ini
=====
Message from php74-bcmath-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-bcmath.ini
=====
Message from php74-bz2-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-bz2.ini
=====
Message from php74-curl-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-curl.ini
=====
Message from php74-exif-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-exif.ini
=====
Message from php74-fileinfo-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-fileinfo.ini
=====
Message from php74-ftp-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-ftp.ini
=====
Message from php74-gd-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-gd.ini
=====
Message from php74-gmp-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-gmp.ini
=====
Message from php74-imap-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-imap.ini
=====
Message from php74-intl-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-intl.ini
=====
Message from php74-mbstring-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-mbstring.ini
=====
Message from php74-openssl-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-openssl.ini
=====
Message from php74-pdo_mysql-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-pdo_mysql.ini
=====
Message from php74-pecl-APCu-5.1.18:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-apcu.ini
=====
Message from php74-pecl-imagick-im7-3.4.4:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-imagick.ini
=====
Message from php74-pecl-memcached-3.1.5:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-memcached.ini
=====
Message from php74-pecl-redis-5.3.1:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-30-redis.ini
=====
Message from php74-zip-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-zip.ini
=====
Message from php74-zlib-7.4.13:
--
This file has been added to automatically load the installed extension:
/usr/local/etc/php/ext-20-zlib.ini
root@cloud:/ #
Запускаем сервис php-fpm
root@cloud:/ # service php-fpm start Performing sanity check on php-fpm configuration: [03-Jan-2021 23:51:31] NOTICE: configuration file /usr/local/etc/php-fpm.conf test is successful Starting php_fpm. root@cloud:/ #
Обновляем приложение в nextcloud и проверяем работу. Всё работает )
Причину установки пакета php74-hash я не нашёл, поэтому устанавливать его не стал.



Спасибо, очень круто описали все
pkg info php73\*
можно заменить на
pkg query -a %n | grep ^php72
Тогда не потребуется потом отрезать версии.
Примерно так обновляю php*:
#!/bin/sh
pkg query -a %n | grep ^php74 > installed-php.txt
cat installed-php.txt | xargs pkg upgrade -y
Капец сколько лишних и вредных действий.
Достаточно менеджеру сказать, что у нас изменилось:
pkg set -o lang/php73:lang/php74
А затем просто пересобрать так или иначе всё то, что нам нужно:
portupgrade -uRa
<>
The hash module is now part of the PHP core. It can’t be disabled or enabled anymore.
Therefore we remove this port.