Изменения в php 7.4 внимательно проанализированы. https://stitcher.io/blog/new-in-php-74 Кроме полезных новшеств появился ряд полезных depricated, которые не мешают работе. Изменение поведения имеется только для совсем грубых ситуаций $i = 1; чему равно $i[0] Предлагаю рассмотреть возможность обновления php до 7.4. Как я понимаю, вплоть до выхода 8 версии ломающих изменений там не планируется. У 7.3 осталось 2 месяца активной поддержки, дальше год security updates и всё. https://www.php.net/supported-versions.php
Отправил задание и буду тестировать. 259572 BUILDING #1 [locked] [test-only] p9 pecl-krb5.git=7.4.11-alt1 pecl-smbclient.git=7.4.11-alt1 php7.git=7.4.11-alt1 php7-apcu.git=7.4.11-alt1 php7-apcu_bc.git=7.4.11-alt1 php7-bz2.git=7.4.11-alt1 php7-calendar.git=7.4.11-alt1 php7-curl.git=7.4.11-alt1 php7-dba.git=7.4.11-alt1 php7-enchant.git=7.4.11-alt1 php7-exif.git=7.4.11-alt1 php7-fileinfo.git=7.4.11-alt1 php7-fpm-fcgi.git=7.4.11-alt1 php7-gd.git=7.4.11-alt1 php7-geoip.git=7.4.11-alt1 php7-gmp.git=7.4.11-alt1 php7-imagick.git=7.4.11-alt1 php7-imap.git=7.4.11-alt1 php7-intl.git=7.4.11-alt1 php7-ldap.git=7.4.11-alt1 php7-mbstring.git=7.4.11-alt1 php7-mcrypt.git=7.4.11-alt1 php7-memcache.git=7.4.11-alt1 php7-memcached.git=7.4.11-alt1 php7-mysqli.git=7.4.11-alt1 php7-mysqlnd-mysqli.git=7.4.11-alt1 php7-opcache.git=7.4.11-alt1 php7-openssl.git=7.4.11-alt1 php7-pcntl.git=7.4.11-alt1 php7-pdo.git=7.4.11-alt1 php7-pdo_mysql.git=7.4.11-alt1 php7-pdo_odbc.git=7.4.11-alt1 php7-pdo_pgsql.git=7.4.11-alt1 php7-pdo_sqlite.git=7.4.11-alt1 php7-pdo_sqlsrv.git=7.4.11-alt1 php7-pgsql.git=7.4.11-alt1 php7-readline.git=7.4.11-alt1 php7-redis.git=5.3.1-alt1 php7-snmp.git=7.4.11-alt1 php7-soap.git=7.4.11-alt1 php7-sockets.git=7.4.11-alt1 php7-sphinx.git=7.4.11-alt1 php7-sqlsrv.git=7.4.11-alt1 php7-ssh2.git=7.4.11-alt1 php7-tidy.git=7.4.11-alt1 php7-xdebug.git=7.4.11-alt1 php7-xhprof.git=7.4.11-alt1 php7-xmlreader.git=7.4.11-alt1 php7-xmlrpc.git=7.4.11-alt1 php7-xsl.git=7.4.11-alt1 php7-zip.git=7.4.11-alt1
Итоговое задание 259572 BUILDING #9 [locked] [test-only] p9 php7.git=7.4.11-alt1 php7-apcu.git=7.4.11-alt1 php7-apcu_bc.git=7.4.11-alt1 php7-bz2.git=7.4.11-alt1 php7-calendar.git=7.4.11-alt1 php7-curl.git=7.4.11-alt1 php7-dba.git=7.4.11-alt1 php7-enchant.git=7.4.11-alt1 php7-fileinfo.git=7.4.11-alt1 php7-fpm-fcgi.git=7.4.11-alt1 php7-gd.git=7.4.11-alt1 php7-geoip.git=7.4.11-alt1 php7-gmp.git=7.4.11-alt1 php7-imagick.git=7.4.11-alt1 php7-imap.git=7.4.11-alt1 php7-intl.git=7.4.11-alt1 php7-ldap.git=7.4.11-alt1 php7-mbstring.git=7.4.11-alt1 php7-mcrypt.git=7.4.11-alt1 php7-memcache.git=7.4.11-alt1 php7-memcached.git=7.4.11-alt1 php7-mysqli.git=7.4.11-alt1 php7-mysqlnd-mysqli.git=7.4.11-alt1 php7-opcache.git=7.4.11-alt1 php7-openssl.git=7.4.11-alt1 php7-pcntl.git=7.4.11-alt1 php7-pdo.git=7.4.11-alt1 php7-pdo_mysql.git=7.4.11-alt1 php7-pdo_odbc.git=7.4.11-alt1 php7-pdo_pgsql.git=7.4.11-alt1 php7-pdo_sqlite.git=7.4.11-alt1 php7-pdo_sqlsrv.git=7.4.11-alt1 php7-pgsql.git=7.4.11-alt1 php7-readline.git=7.4.11-alt1 php7-redis.git=5.3.1-alt1 php7-snmp.git=7.4.11-alt1 php7-soap.git=7.4.11-alt1 php7-sockets.git=7.4.11-alt1 php7-sphinx.git=7.4.11-alt1 php7-sqlsrv.git=7.4.11-alt1 php7-ssh2.git=7.4.11-alt1 php7-tidy.git=7.4.11-alt1 php7-xdebug.git=7.4.11-alt1 php7-xhprof.git=7.4.11-alt1 php7-xmlreader.git=7.4.11-alt1 php7-xmlrpc.git=7.4.11-alt1 php7-xsl.git=7.4.11-alt1 php7-zip.git=7.4.11-alt1 php7-exif.git=7.4.11-alt1 apache2-mod_php7.git=7.4.11-alt1 pecl-krb5.git=7.4.11-alt1 pecl-smbclient.git=7.4.11-alt1 Задание закончилось с error: apache2-mod_php7.git tag `7.4.11-alt1' is not inherited from /gears/a/apache2-mod_php7.git branch `p9' error: php7.git tag `7.4.11-alt1' is not inherited from /gears/p/php7.git branch `p9' $ git diff p9 sisyphus diff --git a/apache2-mod_php7.spec b/apache2-mod_php7.spec index dbfbce0..2644726 100644 --- a/apache2-mod_php7.spec +++ b/apache2-mod_php7.spec @@ -7,7 +7,7 @@ Release: %php7_release Summary: The php7 HTML-embedded scripting language for use with Apache2 Group: System/Servers -License: PHP +License: PHP-3.01 Url: http://www.php.net/ Requires: php7 = %php7_version @@ -26,8 +26,7 @@ Patch0: apache2-mod_php7-7.1.0.patch Patch1: php-alt-namespace.patch BuildRequires(pre): rpm-build-php7 apache2-devel -# Automatically added by buildreq on Wed Mar 23 2011 -BuildRequires: apache2-devel apache2-httpd-worker libmm-devel libxml2-devel php7-devel zlib-devel +BuildRequires: apache2-devel apache2-httpd-worker libmm-devel libxml2-devel php7-devel zlib-devel libsqlite3-devel BuildRequires: php7-devel = %php7_version %description
Не очень понятно, как в p9 управлять наследованием. $ ssh gear.alt task check-git-inheritance 259572 6640 disable 60d9e3a8d58f4b5b6024d171404b94ba21eb58ae girar-check-perms: access to apache2-mod_php7 DENIED for lav: project `apache2-mod_php7' is not listed in acl file for repository `p9'
Репозиторий для тестирования уже должен быть создан, его достаточно. Наследованием никак не управлять. Я планирую обновить в p9 php до 7.4 к новому году.
(Ответ для Vitaly Lipatov на комментарий #3) > Не очень понятно, как в p9 управлять наследованием. > $ ssh gear.alt task check-git-inheritance 259572 6640 disable > 60d9e3a8d58f4b5b6024d171404b94ba21eb58ae > girar-check-perms: access to apache2-mod_php7 DENIED for lav: project > `apache2-mod_php7' is not listed in acl file for repository `p9' Написать sotor@.
про p9 sotor@ писать бесполезно, у него нет прав на то, что бы порвать наследование.
(Ответ для Anton Farygin на комментарий #6) > про p9 sotor@ писать бесполезно, у него нет прав на то, что бы порвать > наследование. Тогда ldv, точно!
Смержил проблемные ветки с Сизифом (основной сложный пакет был php7) и задание собралось.
Спасибо. Что бы оно случайно не попало в репозиторий я повесил disapprove.
(Ответ для Anton Farygin на комментарий #9) > Спасибо. Что бы оно случайно не попало в репозиторий я повесил disapprove. Надеюсь, что оно попадёт туда как можно скорее, поскольку «Для работы WordPress рекомендуется хостинг, который поддерживает: PHP версии 7.4 или выше.» https://ru.wordpress.org/about/requirements/ Должны быть хоть какие-то причины саботировать php 7.4, а их у тебя нет.
Я планирую обновить php до 7.4 в p9 к новому году. Причины простые - на данный момент идёт выпуск других продуктов и мы не можем отвлечь ресурсы на полномаштабное тестирование 7.4 в p9 и на наших стендах. Кстати, уж коль зашла речь про PHP - я планирую откатить последние изменения в php7-imagick - у php7-imagick есть опция в конфиге, отключающая этот warning. И он, по большей части, надуманный.
(Ответ для Anton Farygin на комментарий #11) > я планирую откатить последние изменения > в php7-imagick - у php7-imagick есть опция в конфиге, отключающая этот > warning. И он, по большей части, надуманный. Да, есть imagick.skip_version_check «However it is strongly recommended to use the version of ImageMagick that Imagick was compiled against.» И так вроде не сильно надуманно, куча условной компиляции в зависимости от версии ImageMagick.
мы используем legacy версию ImageMagick. Изменения в ней уже минимальны. ну и сам php7-imagick тоже уже очень давно не выходил. Т.е. - эта связка в достаточной степени стабильна и делать жёсткую зависимость между ними (более жёсткую, чем set:versions) не нужно.
(Ответ для Anton Farygin на комментарий #13) > мы используем legacy версию ImageMagick. Изменения в ней уже минимальны. > ну и сам php7-imagick тоже уже очень давно не выходил. Т.е. - эта связка в > достаточной степени стабильна и делать жёсткую зависимость между ними (более > жёсткую, чем set:versions) не нужно. Значит нужно было добавить в конфиг параметр, отключающий предупреждение, с комментарием о причинах. Как бы логики нет. Если изменения минимальны, почему бы не иметь жёсткую зависимость?
потому что любое минорное изменение ImageMagick будет обязывать делать пересборку этого пакета.
phpMyAdmin сломался с обновлением в p9 MySQL до версии 8 или новее, и починено это только в php 7.4: Due to changes in the MySQL authentication method, PHP versions prior to 7.4 are unable to authenticate to a MySQL 8.0 or newer server (our tests show the problem actually began with MySQL 8.0.11). This relates to a PHP bug https://bugs.php.net/bug.php?id=76243. https://www.phpmyadmin.net/news/2020/10/10/phpmyadmin-496-and-503-are-released/
Виталь, я сам обновлю, спасибо.
(Ответ для Anton Farygin на комментарий #17) > Виталь, я сам обновлю, спасибо. Спасибо, я уже обновил. Мне ситуация не нравится, и я не очень понимаю, какое ты имеешь отношение к принятию решения о том, когда и что обновлять в p9.
Примерно такое же как и ты к wine. Ментейнеру виднее, обычно, когда и что обновлять в стабильном бранче. Если что-то попало в сизиф, то это не повод сразу начинать копировать его в стабильные репозитории.
(Ответ для Anton Farygin на комментарий #19) > Примерно такое же как и ты к wine. Когда мне приходят помогать, я хотя бы стараюсь не отказываться. > Ментейнеру виднее, обычно, когда и что обновлять в стабильном бранче. Если > что-то попало в сизиф, то это не повод сразу начинать копировать его в > стабильные репозитории. Тут речь о том, что 7.4 задерживает почти на год. И у меня есть сомнения, что php удаляется достаточная доля твоей компетентности, при том, что я копаюсь в нём достаточно глубоко. Я понимаю, что php оставляет желать лучшего в качестве кода и продолжает удивлять разными багами, но вроде в последнее время он сильно исправился. И я хотел бы немного нивелировать эту аргументацию о возможной нестабильности php 7.4 (она не подтверждается моей практикой), и прошу как-то понизить заборчик, мешающий 7.4 добраться в p9. Также и в целях мирного решения проблемы, потому что мне будет обидно, если мои усилия пропадут, потому что в итоге после долгих уговоров мне пришлось потратить достаточно много времени на сборку 7.4 в p9.
(Ответ для Anton Farygin на комментарий #19) > Примерно такое же как и ты к wine. Справедливости ради, пояснение не очень. В ситуации с wine сборка новой версии в бранчи всегда задерживается по моей нерасторопности, хотя меня и торопят. И необходимость новой версии там на порядок преобладает над рассуждениями о стабильности.
Мне очень жаль твоих усилий, но задание со сборкой php я сделаю другое, одновременно с выходом очередной версии. На этом предлагаю данный тред закрыть, т.к. у обновления php до 7.4 есть как и сторонники, так и противники.
(Ответ для Vitaly Lipatov на комментарий #20) > (Ответ для Anton Farygin на комментарий #19) > > Примерно такое же как и ты к wine. > Когда мне приходят помогать, я хотя бы стараюсь не отказываться. Тогда очень прошу вернуться к вопросу одновременной установки 32-х и 64-х битных wine. Предложение помочь всё ещё в силе.
php 7.4 будет в branch p10