Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Login Logs a PHP 8.2


kodif

Rekomendowane odpowiedzi

Muszę podnieść wersje php na serwerze, ale po włączeniu 8.2 większość pluginów powoduje fatal error

 

Cytat

Fatal error: Declaration of IPS\loginlogs_hook_logs::authenticate() must be compatible with IPS\_Login::authenticate(?IPS\Login\Handler $onlyCheck = null) in D:\Apache\htdocs\sites\forum469\init.php(903) : eval()'d code on line 5

 

Po zmianie w pliku hooka 

 

było:

class loginlogs_hook_logs extends _HOOK_CLASS_
{
    public function authenticate()

 

na:

 

class loginlogs_hook_logs extends _HOOK_CLASS_
{
    public function authenticate(IPS\Login\Handler)

 

błędu nie ma, forum odpala, ale aplikacja nie działa i tak

 

Prosiłbym o podpowiedz jak ugryźć dostosowanie hookow do php.8.2

Odnośnik do komentarza
Udostępnij na innych stronach

Godzinę temu, DawPi napisał(a):

Innych błędów w narzędziu sprawdzającym kompatybilność nie ma? Na 8.1 działa?

 

Nie działa na 8.0 - 8.2. Działa na 7.x

 

Na bank jest to związane z odmiennymi wymaganiami php8.x co do argumentów funkcji, ale nie rozkminiłem o co chodzi, zwłaszcza w połączeniu z IPS.

 

 

Godzinę temu, DawPi napisał(a):

Jeszcze inna kwestia - ta apka ma jakieś extensions/?

 

Ma, ale tam nic nie ma. (\extensions\core\MemberSync) Jest tylko usuniecie logów dla usuniętego użytkownika i dla połączonych uzytkowników

    public function onMerge( $member, $member2 )
    {
        \IPS\Db::i()->update( 'loginlogs_logs', array( 'mid' => $member->member_id ), array( 'mid=?', $member2->member_id ) );
    }

    /**
     * Member is deleted
     *
     * @param    $member    \IPS\Member    The member
     * @return    void
     */
    public function onDelete( $member )
....

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
4 godziny temu, kodif napisał(a):

Ma, ale tam nic nie ma.

Spokojnie. Po kolei. Masz plik data/extensions.json bodajże w folderze tej aplikacji?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
19 godzin temu, DawPi napisał(a):

Masz plik data/extensions.json bodajże w folderze tej aplikacji?

A powinien być. W załączniku.

extensions.json

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Hm, PHP 8.0 i nawet bez tego pliku:

image.png

 

Więc co dokładnie nie działa? Może winna inna wtyczka?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
13 godzin temu, kodif napisał(a):

Wrzuciłem i nie działa,

Ale tam nie ma cudów - musi to działać. Nie działa w sensie nie dodaje nowych logów? Jak się logujesz? Normalnie czy poprzez jakieś FB czy coś?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
13 godzin temu, kodif napisał(a):

hmm,.. tak mi przyszło do głowy że 4.7 lepiej obsługuje wtyczki na 8.+

 

licencję mam nieaktywną, wiec i tak nie sprawdzę.

Wiadomo, że to generalnie idzie w miarę w parze, a na pewno blisko siebie.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

W dniu 26.08.2023 o 06:36, DawPi napisał(a):

Nie działa w sensie nie dodaje nowych logów? Jak się logujesz?

 

Loguję sie normalnie. 

Podsumowując:

 

jeśli w w pliku hooka jest tak jak w oryginale:

class loginlogs_hook_logs extends _HOOK_CLASS_
{
    public function authenticate()
    {
        try
        {
            try
            {
                try
                {
                    $login = parent::authenticate(  );

 

 

to wywala fatal error

Cytat

Fatal error: Declaration of IPS\loginlogs_hook_logs::authenticate() must be compatible with IPS\_Login::authenticate(?IPS\Login\Handler $onlyCheck = null) in D:\Apache\htdocs\sites\forum469\init.php(903) : eval()'d code on line 5

 

jeśli wpiszę np 

 

class loginlogs_hook_logs extends _HOOK_CLASS_
{
    public function authenticate(IPS\Login\Handler)

 

błędu nie ma, forum odpala, ale aplikacja nie działa i tak - nie dodaje logów

 

natomiast po wpisaniu

 

class loginlogs_hook_logs extends _HOOK_CLASS_
{
    public function authenticate($dowolna_nazwa_zmiennej = null)

 

błędu nie ma, forum odpala, aplikacja działa i dodaje logi

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.