Webboard

Pełna wersja: Błędy pluginów przy próbie przejścia na PHP 7.0 i wyższe
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Adres forum:
[www.mamhopla.com.pl]


Wersja silnika:
[1.18.15]


Opis problemu:
[Przy próbie przejścia na PHP 7.0 lub wyższe wysypuje mi się forum.  Podejrzewam, że chodzi o niekompatybilność niektórych pluginów z tą wersją PHP. Czy istnieje możliwość wymuszenia pracy pluginów na PHP wyższym niż obecne u mnie PHP 5.6.31? Zaznaczam, iż akurat te pluginy są u mnie bardzo porządane (np. VIP Membership) Z góry dziękuję za konstruktywne odpowiedzi]
Jedynie mozesz przepisać je.
W jaki dokładnie sposób się wysypuje forum?
(09.05.2018, 21:37)Divir napisał(a): [ -> ]Jedynie mozesz przepisać je.
W jaki dokładnie sposób się wysypuje forum?


Tego się obawiałem....
Udało mi się opanować "wysypywanie" ale pozostały alerty o błędach dotyczących różnych/kilku pluginów:

Z pozycji forum (tu wiem, że upgrade shoutboxa pomoże ale nie robię bo reszta i tak nie pozwoli przejść na wyższe PHP:
[attachment=13738]

Z pozycji ACP:
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 37 - File: inc/plugins/google_seo/404.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 159 - File: inc/plugins/google_seo/url.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 1101 - File: inc/plugins/google_seo/url.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 114 - File: inc/plugins/unreadPosts.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 118 - File: inc/plugins/unreadPosts.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 41 - File: inc/plugins/vipmembership.php PHP 7.2.0 (Linux)
Warning [2] Use of undefined constant THIS_SCRIPT - assumed 'THIS_SCRIPT' (this will throw an Error in a future version of PHP) - Line: 10 - File: inc/plugins/dvz_mentions/links/links.module.php PHP 7.2.0 (Linux)
 i jeszcze 3 dodatkowe dotyczące index.php z poziomu ACP ale ich nie wklejam (ścieżka) ;), początek komunikatu: Warning [2] Cannot modify header information - headers already sent by...
headers already sent by - tak masz zapewne przesz edycję pliku notatnikiem windowsowskim. Otwórz plik i zapisz ponownie w kodowaniu utf-8 bez boom, możesz to zrobić w vscode, atom lub notepad++.

Co do tych ostrzeżeń o THIS_SCRIPT, to możesz wprowadzić ten fix: https://github.com/Eldenroot/mybb/commit...b9d37ea39f lub poczekać na wersję mybb 1.8.16.

Poza tym - są to tylko ostrzeżenia, możesz w ustawieniach php wyłączyć całkiem ich pokazywanie.
(09.05.2018, 22:24)Divir napisał(a): [ -> ]Poza tym - są to tylko ostrzeżenia, możesz w ustawieniach php wyłączyć całkiem ich pokazywanie.

A jak to można wykonać ??
(10.05.2018, 07:49)robiwielki napisał(a): [ -> ]
(09.05.2018, 22:24)Divir napisał(a): [ -> ]Poza tym - są to tylko ostrzeżenia, możesz w ustawieniach php wyłączyć całkiem ich pokazywanie.

A jak to można wykonać ??
Pierwsza opcja: w pliku php.ini ustawić display_errors na 0 i zresetować po tym php. Jeśli jesteśmy na hostingu współdzielonym to zapewne trzeba będzie zrobić to przez panel, o ile udostępniają opcje do edycji tego.
Druga opcja: na górze kodu, który powoduje ostrzeżenia (początek pluginu zapewne) dodać: ini_set( "display_errors", 0);. To czy ta funkcja zadziała zależy w sumie od konfiguracji serwera, niektórzy ją blokują i może być wymagana wiadomość do hostingu.