Обновляем 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.