PDA

Zobacz pełną wersję : Przejście z PHP 7.4 na 8.2 błąd



edekz
05-12-2022, 13:18
Serwer mam na home.pl postawione mam 4 serwisy,
Po zmianie PHP z 7.4 na 8.2 3 serwisy działają poprawnie ale z jednym mam problemy:
- nie wszystkie strony mi się otwierają niektóre wyświetlają: count(): Argument #1 ($value) must be of type Countable|array, null given
- w panelu administracyjnym po wejściu w edycje artykułu nic mi się nie wyświetla.
Po powrocie na PHP 7.4 wszystko OK
Tutaj coś znalazłem https://www.drupal.org/project/drupal/issues/3284876
ale niestety to nie mój poziom, proszę o pomoc

siristru
06-12-2022, 19:44
Znalazłeś informacje... ale dla Drupala :)
A zmień na 8.0.

edekz
06-12-2022, 20:41
to samo, działa tylko na 7.4

- - - Updated - - -
w panelu jak kliknę w edycje artykułu pokazuje się:

Ta strona nie działa
Serwer pasiekaaga.pl nie może teraz obsłużyć tego żądania.
HTTP ERROR 500


we wszystkie inne pozycje menu wchodzę bez problemu
Obecnie na serwerze mam ustawione php 8.2
Można zerknąć na działanie serwisu www.pasiekaaga.pl (http://www.pasiekaaga.pl)

siristru
06-12-2022, 21:21
Czyli Joomla 3 a PHP 8.0... i błąd na froncie...
Dobra a czy błąd jest również widoczny kiedy przejdziesz na domyślny szablon protostar?

edekz
06-12-2022, 22:32
Jest to samo
dziwne jest bo HOME , KONTAKT i HODOWLA działają poprawnie

edekz
07-12-2022, 14:03
Dziwną rzeczą jest to ze jedynie w katalogu tej strony mam plik php.txt
o zawartości:
magic_quotes_gpc = 0;
display_errors = 0;

Usuwałem go ale nie powodowało to żadnych zmian

siristru
07-12-2022, 14:20
Jeśli to plik txt to nie ma żadnego wpływu na ustawienia serwera... taki plik nie jest w ogóle wykonywany.
Najlepiej byłoby móc zdebugować stronę, wtedy byśmy wiedzieli która linia w jakim pliku wywołuje ten błąd.

Może to być kwestia hostingu bo na mojej stronie w smarthost.pl i PHP 8.0 taki błąd się nie pojawia.
Wiem jaka funkcja wywołuje ten błąd.. ale nie wiem gdzie w kodzie i co ten kod ma za zadanie zrobić.
Trzeba debugować.

edekz
08-12-2022, 14:09
Może to być kwestia hostingu bo na mojej stronie w smarthost.pl i PHP 8.0 taki błąd się nie pojawia.

Na pozostałych trzech serwisach ten problem u mnie taż nie występuje
a wszystkie są na tym samym serwerze

minkycm
26-06-2023, 08:00
Serwer mam na home.pl postawione mam 4 serwisy,
Po zmianie PHP z 7.4 na 8.2 3 serwisy działają poprawnie ale z jednym mam problemy:
- nie wszystkie strony mi się otwierają niektóre wyświetlają: count(): Argument #1 ($value) must be of type Countable|array, null given
- w panelu administracyjnym po wejściu w edycje artykułu nic mi się nie wyświetla.
Po powrocie na PHP 7.4 wszystko OK
Tutaj coś znalazłem https:// (http://https://)www (http://bananacv.com).drupal.org/project/drupal/issues/3284876 (https://www.drupal.org/project/drupal/issues/3284876)
ale niestety to nie mój poziom, proszę o pomoc

Najlepiej jak napiszesz do supportu hostingu lub po prostu postaw tę konkretną Joomle od początku (z zachowaniem kopii zapasowej).

terra
26-06-2023, 12:48
To jest prosty błąd składni języka php, to co było dozwolone w PHP 7.4 nie jest w 8.x.Wszystko masz opisane w błędzie, gdzieś masz wykorzystaną funkcję count() do tablicy, która nie ma wartości. Włącz wyświetlanie błędów na max (joomla lub php.ini) i wtedy powinieneś się dowiedzieć, gdzie takie przypisanie jest zastosowane (moduł, komponent, dodatek..).

Prawdopodobnie masz argumenty tablicy, w formie która nie jest już dozwolona w PHP8 np () lub "" zamiast []

rkonik
26-06-2023, 13:22
Tak jak napisał @terra jest to błąd składni. Osobiście uważam, że któreś z rozszerzeń nie jest jeszcze przystosowane do tej wersji PHP. Posłuchaj @terra i wykonaj to co napisał. Często jest to w szablonie lub w nadpisywaniu, które również znajdziesz w szablonie.