Jump to content

4.7.2 Сканер совместимости PHP 8

Featured Replies

В Invision Community 4.7.2 появился сканер совместимости PHP 8 для сторонних приложений и плагинов.

Пожалуйста, прочитайте этот пост перед обновлением с версии 4.7.1 или ниже.

Зачем нам это нужно?
Базовым языком программирования, который использует Invision Community, является PHP. Последняя версия PHP 8 была выпущена в ноябре 2020 года и содержит множество критических изменений и несовместимостей, которые не имеют обратной совместимости. Некоторые из этих изменений означают, что то, что было безобидным молчаливым уведомлением, теперь является фатальной ошибкой, что означает, что если вы обновитесь с несовместимым кодом, ваше сообщество выдаст фатальную ошибку, которая приведет либо к белому экрану, либо к сообщению об ошибке на уровне сервера в вашем браузере.

Сообщество Invision не может зафиксировать и устранить эти фатальные ошибки. Фатальные ошибки находятся глубже в цепочке выполнения.

PHP 8 существует уже почти два года, а PHP 7.4 «устарел», и обновления безопасности прекратятся с ноября, что означает, что он становится небезопасным, поэтому всем придется очень скоро перейти на PHP 8.

Что это?
Средство проверки совместимости проверяет все сторонние приложения и плагины, которые вы добавили из Marketplace.

Мы рекомендуем нашим авторам Marketplace тестировать PHP 8, но не все это делают, и поэтому такие приложения и плагины, которые нормально работают с PHP 7.4, не будут работать с PHP 8.

Средство проверки совместимости сканирует весь сторонний код на наличие проблем, которые могут привести к фатальным ошибкам, и, если находит их, отключает приложение или подключаемый модуль при обновлении.

Единственный способ повторно включить приложение или обновить его — обновить его до версии, совместимой с 4.7.2, из магазина.

Могу ли я повторно включить отключенные сторонние плагины и приложения?
Да, если вы уверены, что плагины и приложения нормально работают с вашей текущей версией PHP, вы можете снова включить их до нашего ноябрьского релиза, после чего приложения будут принудительно отключены.

Стоит связаться с авторами ключевых плагинов и приложений, чтобы узнать, есть ли у них версия, совместимая с PHP8, или они планируют выпустить ее к ноябрю, чтобы вы могли подготовиться к ноябрьскому обновлению.

Это действительно необходимо?
К сожалению, да. PHP вносит смелые изменения, которые не совместимы с предыдущими версиями. Сообществу Invision повезло, что так много сторонних разработчиков выпускают приложения и плагины для дальнейшего улучшения набора функций, но у нас нет прямого контроля над этим кодом. Нашим приоритетом является обеспечение плавного обновления вашего сайта и его бесперебойной работы.

Почему сейчас?
Мы уже некоторое время работаем над совместимостью с PHP 8 и призываем наших сторонних авторов сделать то же самое и протестировать PHP 8. В августе мы также проинформировали разработчиков о сканере и о том, что он может сделать с их приложениями. Мы также выпускаем бета-версии Invision Community 4.7 с мая этого года, чтобы дать им как можно больше времени для обновления своих приложений. Внедрение этого изменения болезненно в краткосрочной перспективе, но принесет пользу всем в долгосрочной перспективе.

Что еще я могу сделать?
Ваша лицензия на самостоятельный хостинг позволяет вам выполнить тестовую установку , которую вы должны использовать в качестве промежуточного сайта, и протестировать любые обновления на этом промежуточном сайте перед выполнением обновления на рабочем сайте. Это позволит вам зафиксировать любые проблемы, которые могут возникнуть, прежде чем запускать его на своем рабочем сайте.

Как всегда, мы рекомендуем делать резервную копию перед любым обновлением, чтобы вы могли легко выполнить откат, если возникнут какие-либо проблемы.

Я использую PHP 7, влияет ли это на меня?
Да, сканер совместимости по-прежнему будет работать при обновлении и проверять наличие проблем с PHP 8, поэтому при обновлении до PHP 8 вы не обнаружите, что ваше сообщество больше не работает.

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/
Share on other sites

очередные красные таблички в ац.. 

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186224
Share on other sites

Придется скоро на поддомен форум перетаскивать)

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186225
Share on other sites

Обычному человеку все эти пхп 7 и пхп 8 ни о чем не говорят. Да и разницу никто не заметит. Просто блажь программистов: все движутся и мы куда-то движемся.

Edited by Zero108

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186227
Share on other sites
2 часа назад, Anche сказал:

а PHP 7.4 «устарел», и обновления безопасности прекратятся с ноября, что означает, что он становится небезопасным, поэтому всем придется очень скоро перейти на PHP 8.

те, кто до сих пор сидит на пхп 5.4/5.6 -🗿

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186231
Share on other sites

Whenever I try to set the PHP version to 8.0 than my current 7.4, my test forum throws 500 Error over AdminCP

What works is the only main page of the website and nothing else!

It's a little pain in the ass that I haven't figured it out what causes the issue yet!

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186550
Share on other sites
2 часа назад, Orpheus сказал:

Whenever I try to set the PHP version to 8.0 than my current 7.4, my test forum throws 500 Error over AdminCP

What works is the only main page of the website and nothing else!

It's a little pain in the ass that I haven't figured it out what causes the issue yet!

Have you looked at the web server logs? At 500 an error always they will be.

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186552
Share on other sites

Я один такой везучий и у меня на свежеустановленной 4.7.2.1 не работает этот сканер? Если зайти в саппорт, то кружочек в сканере крутится бесконечно, в логах ошибка ( связанная с count() в самом Scanner.php ).

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186593
Share on other sites

Desti видимо, да. у меня везде ошибки выдаёт.

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186595
Share on other sites
1 минуту назад, by_ix сказал:

видимо, да. у меня везде ошибки выдаёт.

Судя по всему они не предусмотрели варианта, когда ошибок нет :) Если разрешить приложение с ошибкой, то всё нормально, создается массив ошибок и сканер срабатывает, а если ошибок нет, массив не создается и лезет любимая ошибка с count()

Для любопытных - исправляется заменой в system/Application/Scanner.php (строка 434)

if ( !empty( $methodIssues ) 

на                         

if ( !empty( $methodIssues )  && \is_array($methodIssues)  )

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186596
Share on other sites

4.6.12.1 :bt:

и не парюсь.

хотя Вам парни большое спасибо, за ошибки все что меня ожидают :bk:

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186598
Share on other sites
11 часов назад, SlawkA сказал:

спасибо, за ошибки все что меня ожидают

Безумству храбрых поем мы песню. 😀

Edited by Zero108

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186613
Share on other sites
12 часов назад, SlawkA сказал:

4.6.12.1 :bt:

Invision Community v4.6.8 

и тоже не парюсь)) что может быть стабильнее последней официальной лицензией перед концом срока её)))

Edited by the.bunin

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186614
Share on other sites
On 9/23/2022 at 12:25 AM, September^^ said:

Have you looked at the web server logs? At 500 an error always they will be.

Nope, not yet...I am so lazy to do that!

I am currently on PHP 7.4, but it seems like that I need to change the PHP version to 8 or 8.1 sooner no matter what!

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186615
Share on other sites
On 9/23/2022 at 12:25 AM, September^^ said:

Have you looked at the web server logs? At 500 an error always they will be.

It might sound like mbstring extension isn't loaded, but I suppose it does load but still throws an error

Quote

[25-Sep-2022 11:41:02 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding() in /home/mywebsite/public_html/init.php:558

Stack trace:

#0 /home/mywebsite/public_html/init.php(1435): IPS\IPS::init()

#1 /home/mywebsite/public_html/applications/core/interface/task/task.php(29): require_once('/home/mywebsite/...')

#2 {main}

  thrown in /home/mywebsite/public_html/init.php on line 558

[25-Sep-2022 11:42:01 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding() in /home/mywebsite/public_html/init.php:558

Stack trace:

#0 /home/mywebsite/public_html/init.php(1435): IPS\IPS::init()

#1 /home/mywebsite/public_html/applications/core/interface/task/task.php(29): require_once('/home/mywebsite/...')

#2 {main}

  thrown in /home/mywebsite/public_html/init.php on line 558

[25-Sep-2022 11:43:01 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding() in /home/mywebsite/public_html/init.php:558

Stack trace:

#0 /home/mywebsite/public_html/init.php(1435): IPS\IPS::init()

#1 /home/mywebsite/public_html/applications/core/interface/task/task.php(29): require_once('/home/mywebsite/...')

#2 {main}

  thrown in /home/mywebsite/public_html/init.php on line 558

[25-Sep-2022 11:44:01 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function IPS\mb_internal_encoding() in /home/mywebsite/public_html/init.php:558

Stack trace:

#0 /home/mywebsite/public_html/init.php(1435): IPS\IPS::init()

#1 /home/mywebsite/public_html/applications/core/interface/task/task.php(29): require_once('/home/mywebsite/...')

#2 {main}

  thrown in /home/mywebsite/public_html/init.php on line 558

This only happens when I change the PHP version from 7.4 to 8.0

Edited by Orpheus

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186658
Share on other sites

sudo apt install php8.n-mbstring (n - your php version suffix)

Edited by Desti

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186660
Share on other sites

А кто может дать ссылку на совместимость разных версий форума с версиями php?

Edited by aplayer

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186665
Share on other sites
21 hours ago, Desti said:

sudo apt install php8.n-mbstring (n - your php version suffix)

Do you mean to install mbstring? I guessed the same, but it's already installed/enabled.

And I am using cPanel's PHP Selector!

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186669
Share on other sites

run php code

print_r(get_loaded_extensions());
Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186672
Share on other sites
2 hours ago, Desti said:

run php code

print_r(get_loaded_extensions());

Thanks,

I will do that and get back to you once I am done!

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186673
Share on other sites
20 hours ago, Desti said:

run php code

print_r(get_loaded_extensions());

PHP 7.4

Quote

Array ( [0] => Core [1] => date [2] => libxml [3] => openssl [4] => pcre [5] => sqlite3 [6] => zlib [7] => bz2 [8] => calendar [9] => ctype [10] => curl [11] => hash [12] => filter [13] => ftp [14] => gettext [15] => gmp [16] => SPL [17] => iconv [18] => pcntl [19] => readline [20] => Reflection [21] => session [22] => standard [23] => shmop [24] => SimpleXML [25] => mbstring [26] => tokenizer [27] => xml [28] => litespeed [29] => i360 [30] => bcmath [31] => dba [32] => dom [33] => enchant [34] => fileinfo [35] => gd [36] => imagick [37] => imap [38] => intl [39] => json [40] => ldap [41] => exif [42] => mysqlnd [43] => mysqli [44] => odbc [45] => PDO [46] => pdo_mysql [47] => PDO_ODBC [48] => pdo_pgsql [49] => pdo_sqlite [50] => pgsql [51] => Phar [52] => posix [53] => pspell [54] => snmp [55] => soap [56] => sockets [57] => sysvmsg [58] => sysvsem [59] => sysvshm [60] => tidy [61] => timezonedb [62] => xmlreader [63] => xmlrpc [64] => xmlwriter [65] => xsl [66] => zip )

PHP 8.0

Quote

Array ( [0] => Core [1] => date [2] => libxml [3] => openssl [4] => pcre [5] => sqlite3 [6] => zlib [7] => bz2 [8] => calendar [9] => ctype [10] => curl [11] => hash [12] => filter [13] => ftp [14] => gettext [15] => gmp [16] => SPL [17] => iconv [18] => json [19] => pcntl [20] => readline [21] => Reflection [22] => session [23] => standard [24] => shmop [25] => SimpleXML [26] => mbstring [27] => tokenizer [28] => xml [29] => litespeed [30] => i360 [31] => bcmath [32] => dba [33] => dom [34] => enchant [35] => fileinfo [36] => gd [37] => imagick [38] => imap [39] => intl [40] => ldap [41] => exif [42] => mysqlnd [43] => mysqli [44] => odbc [45] => PDO [46] => pdo_mysql [47] => PDO_ODBC [48] => pdo_pgsql [49] => pdo_sqlite [50] => pgsql [51] => Phar [52] => posix [53] => pspell [54] => snmp [55] => soap [56] => sockets [57] => sysvmsg [58] => sysvsem [59] => sysvshm [60] => tidy [61] => timezonedb [62] => xmlreader [63] => xmlrpc [64] => xmlwriter [65] => xsl [66] => zip )

Both load the same type & number of extensions.

I wonder, what is the problem, then?

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186683
Share on other sites

Orpheus no idea. If i disabled mbstring from command line (phpdismod -v 8.1 -s fpm mbsting) and restart php-fpm, my script return error 500. 

PHP Fatal error:  Uncaught Error: Call to undefined function mb_internal_encoding() in /home/desti/4.7.2.1/test.php:4

You run code via browser or from command line? 

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186685
Share on other sites
On 9/27/2022 at 1:54 PM, Desti said:

You run code via browser or from command line?

Browser

P.S. Sorry for the late reply!

Edited by Orpheus

Link to comment
https://ipbmafia.ru/topic/24835-472-skaner-sovmestimosti-php-8/?&do=findComment&comment=186769
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.