vMcShop - problem paypal

Zombie
vps
Thomas33
Thomas33

Chcialem zaczac korzystac z vMcShop, po wielu problemach w koncu udalo mi sie wlaczyc wszystko. Ale... nie dziala paypal, zrobilem wszystko tak jak w poradnikach i nadal pokazuje mi to:

A PHP Error was encountered

Severity: Warning

Message: count(): Parameter must be an array or an object that implements Countable

Filename: controllers/Paypal.php

Line Number: 139

Backtrace:

File: /var/www/html/sklep/application/controllers/Paypal.php Line: 139 Function: _error_handler

File: /var/www/html/sklep/index.php Line: 315 Function: require_once

Proszę o pomoc

logixdev
logixdev

Jaką masz wersję PHP zainstalowaną na serwerze?

Thomas33
Thomas33

7.4

logixdev
logixdev

To w wersji PHP leży problem. Sklep był pisany pod 5.6 i jednym z błędów na nowszych wersjach jest właśnie to. Idąc za radą autora skryptu, przeinstaluj wersję PHP na 5.6 lub w application/controllers/Paypal.php zmień linijki 134-146 na to: https://pastebin.com/VVxNcdbi

Generalnie coś jeszcze w panelu może Ci sypać błędami na nowszych wersjach z tego co pamiętam. To jedynie takie rozwiązanie tymczasowe na opisany problem. Minusem oczywiście jest to, że nigdy korzystanie ze starej, niewspieranej wersji oprogramowania nie jest polecane. Wybór należy do Ciebie.

Thomas33
Thomas33

te lijniki mialem juz zmienione, podrzucisz jakis link jak przeinstalowac php na 5.6?

logixdev
logixdev

Jest też opcja, że nie masz któregoś z dodatkowych pakietów PHP wymaganego do poprawnego działania sklepu. Możesz rzucić wcześniej screenem z **. Jak chcesz wrzucić PHP 5.6 i masz Ubuntu 18.04, to ja zawsze instaluję używając repozytorium Ondrej PHP. Wszystkie inne wersje PHP musisz odinstalować lub po prostu wyłączyć. Jeśli korzystasz z Apache2 to sudo a2dismod php7.4 - potem po zainstalowaniu PHP5.6 sudo a2enmod php5.6 i możesz zrobić sudo update-alternatives --set php /usr/bin/php5.6 też.

Żeby zainstalować 5.6, to jeśli masz Apache2 dodajesz repozytorium ppa:ondrej/apache2 komendą sudo add-apt-repository ppa:ondrej/apache2 lub jeśli masz nginx to ppa:ondrej/nginx, czyli komenda sudo add-apt-repository ppa:ondrej/nginx :slight_smile: Następnie sudo add-apt-repository ppa:ondrej/php i dla pewności sudo apt update ;) I możemy przejść do instalacji PHP w wersji 5.6. Ja zawsze instaluję z dodatkowymi pakietami (m.in. do obsługi PMA i kilka innych, w sumie nie wiem, które są wymagane do poprawnego działania sklepu): sudo apt install php5.6 php5.6-cli php5.6-common php5.6-curl php5.6-gd php5.6-json php5.6-mysql php5.6-xml libapache2-mod-php5.6 php5.6-mcrypt php5.6-mbstring php5.6-zip php5.6-gettext

Thomas33
Thomas33

teraz to mi zupelnie wyrzucilo stronke

Thomas33
Thomas33

error|690x175

Pomocy...

logixdev
logixdev

Sprawdź logi, ja mało korzystam na co dzień z Apache, więc nie jestem w stanie pomóc. Prawdopodobnie coś się popsuło z konfiguracją w trakcie przeinstalowywania, konkretnie coś w linijce 'ServerName'. Jeśli korzystasz z VirtualHostów, to też tak mogło się stać, ale może ktoś mądrzejszy, na bieżąco korzystający z Apache Ci coś powie. Ja zawsze od razu na czystej maszynie instalowałem 5.6 i nie było problemów wyżej opisaną metodą. ;)

Thomas33
Thomas33

Dzięki, to poczekam aż ktoś odpowie 😕

psycho
psycho

A co mamy Ci odpowiedzieć bez logów? Nie widzimy logów, jedny błąd jaki widać to "Segmentation Fault", więc co mamy z tego wywnioskować. Najpierw sprawdziłbym logi, czy może tam nie ma jakichś dodatkowych informacji na ten temat.

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.