vMcShop - problem paypal

Thomas33 | 2020-05-11 14:37:39 UTC | #1

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: errorhandler

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

Proszę o pomoc


logixdev | 2020-05-11 14:42:18 UTC | #2

Jaką masz wersję PHP zainstalowaną na serwerze?


Thomas33 | 2020-05-11 14:43:53 UTC | #3

7.4


logixdev | 2020-05-11 15:29:27 UTC | #4

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 | 2020-05-11 14:48:08 UTC | #5

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


logixdev | 2020-05-11 14:58:53 UTC | #6

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 <?php phpinfo(); ?>. 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 | 2020-05-11 15:08:44 UTC | #7

teraz to mi zupelnie wyrzucilo stronke


Thomas33 | 2020-05-11 15:40:33 UTC | #8

error|690x175

Pomocy…


logixdev | 2020-05-11 15:58:32 UTC | #9

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 | 2020-05-11 15:59:39 UTC | #10

Dzięki, to poczekam aż ktoś odpowie :confused:


psycho | 2020-05-11 16:05:50 UTC | #11

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 | 2020-06-12 16:05:52 UTC | #12

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