wdrożenia PrestaShop

Bład 500 podczas potwierdzenia zamówienia

  • 21 Odpowiedzi
  • 4448 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Bład 500 podczas potwierdzenia zamówienia
« dnia: Październik 04, 2018, 02:11:25 pm »
Witam serdecznie,

Nie znalazłem nigdzie rozwiązania dotyczącego mojego problemu (przeszukiwałem forum i internet ale tematy i rozwiązania związane z tym błędem nie pasowały do mojego problemu.

W załączniku wstawiam screen z logów PrestaShop

Sytuacja wygląda następująco:

Po przejściu przez proces zamówienia i wybraniu sposobu dostawy klient przy kliknięciu w potwierdzenie zamówienia dostaje błąd 500.

Różnica miedzy moim problemem a reszta problemów z HTTP 500 podczas potwierdzenia zamówienia jest taka że, już podczas przechodzenia przez proces zamówienia pojawiają się błędy typu:

- część przewoźników z automatu dodaje darmowa wysyłkę mimo że w Backoffice wszystko ustawione jest jak trzeba
- podczas edycji przewoźników, mimo tego że poprzednie zakresy wagi działały prawidłowo, teraz nie chcą się zatwierdzić (nawet po usunięciu i ponownym wprowadzeniu tego samego przewoźnika z tymi samymi parametrami,
- nie działa realizacja zamówienia dla klienta w BackOffice,

Co zrobiłem do tej pory aby osunąć powyższy problem:

- Przeinstalowałem moduły COD, Bankwire oraz ShipToPay
- Przywracałem kopie zapasowe sklepu z przed kilku dni wstecz (baza SQL, pliki na serwerze),
- Kontaktowałem się z usługodawca hostingu na którym umieszczona jest strona (wina nie leży po ich stronie)
- Próbowałem dodać od nowa przewoźników z takimi samymi ustawieniami (bezskutecznie),
- Sprawdziłem statusy zamówień - wszystko jest na swoim miejscu, żaden status nie został usunięty przypadkowo,
- Nie aktualizowałem silnika sklepu - sklep nie był aktualizowany przez 1-Click-Upgrade (moduł niezainstalowany), automatyczna aktualizacja w panelu serwera wyłączona

Nie wiem co może być nie tak, jeszcze wczoraj klienci robili normalne zamówienia a w dniu dzisiejszym już nie.
Od około tygodnia nie były wprowadzone żadne zmiany - brak zmian w Backoffice, brak zmian w plikach na serwerze.

Prosiłbym o szybka pomoc.

Pozdrawiam serdecznie.
« Ostatnia zmiana: Październik 04, 2018, 02:37:38 pm wysłana przez bonek04pl »

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #1 dnia: Październik 05, 2018, 08:43:50 am »
Masz jakiś override na plikach zamówienia ? Jakiś moduł ?
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #2 dnia: Październik 05, 2018, 08:54:36 am »
Nie, nic w override nie było zapisywane / nadpisywane. Folder z modułami jest pusty.

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #3 dnia: Październik 05, 2018, 09:15:58 am »
Zauważyłem coś jeszcze. Jeśli wpiszę wartość 30,25 w wyszukiwaniu produktów (pole cena podstawowa) to BackOffice wyrzuca mi błąd:

Złe zapytanie SQL
Something is wrong in your syntax obok '25 ORDER BY a.`id_product` ASC LIMIT 0, 50' w linii 14

I przez to muszę przywracać sklep z kopi zapasowej ponieważ po odświeżeniu strony błąd pozostaje.

Po wpisaniu 30.99 dostaje równiez błąd:

Złe zapytanie SQL
Something is wrong in your syntax obok '99 ORDER BY a.`id_product` ASC LIMIT 0, 50' w linii 14

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #4 dnia: Październik 05, 2018, 10:48:25 am »
Wgraj jeszcze raz pliki admina sklepu z oryginalnej kopii. Funkcja js nie zamienia Ci , na .
Dodatkowo na jakim silniku bazy pracujesz ?
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #5 dnia: Październik 05, 2018, 01:19:37 pm »
Wgrałem pliki z czystej instalacji PrestaShop 1.6.1.18 (takiej jak domyslna wersja sklepu). Jednak pomogło to tylko w wypadku wprowadzania nowych przewoźników. Błąd podczas finalizacji dalej występuje i przewoźnicy dalej nie działają jak trzeba. Silnik na jakim pracuje baza danych MySQL to InnoDB.

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #6 dnia: Październik 06, 2018, 09:07:16 am »
Silnik bazy danych jest zgodny jest zgodny. Czy w konsoli są jakieś błędy, czy włączyłeś tryb debugowania ?
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #7 dnia: Październik 08, 2018, 09:30:40 am »
Jesli chodzi o debugowanie w Prescie to w pierwszym poście jest załącznik (zdjęcie) i tylko tyle mi wyskoczyło. W Apache odnośnie błędów nie ma nic co w sumie mnie trochę dziwi. Mogę wysłać tylko (załącznik) log użytkowania apache. Dowiedziałem się także że w tabeli ps_range_price znajdują się wartości "delimiter1" i "delimiter2" które wyświetlane są w błędzie z pierwszego postu (załącznik). Jednak nie widzę tam niczego "dziwnego". Dodaje screena w załączniku.

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #8 dnia: Październik 08, 2018, 10:16:49 am »
Usunąłem wszystkich przewoźników, wszystkie dane z tabeli ps_carrier oraz ps_range_price, wyczyściłem cache i przy próbie wprowadzenia nowego przewoźnika (zakresy ustawiam za pomocą kropek) wyskakuje mi błąd: "Wystąpił błąd podczas zapisywania zakresów przewoźnika."

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #9 dnia: Październik 08, 2018, 10:30:38 am »
tutaj masz kod create dla tej tabeli. Usuń ja i wykonaj to:
CREATE TABLE `ps_range_price` (
`id_range_price` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`id_carrier` INT(10) UNSIGNED NOT NULL,
`delimiter1` DECIMAL(20,6) NOT NULL,
`delimiter2` DECIMAL(20,6) NOT NULL,
PRIMARY KEY (`id_range_price`),
UNIQUE INDEX `id_carrier` (`id_carrier`, `delimiter1`, `delimiter2`)

Jeśli tabela jest uszkodzona to może pomóc
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #10 dnia: Październik 08, 2018, 10:52:01 am »
Niestety problem nadal występuje. Zrobiłem tak jak pisałeś. Usunąłem starą tabelę, wykonałem zapytanie SQL, tabela się stworzyła jednak nic to nie zmieniło :/

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #11 dnia: Październik 08, 2018, 03:20:39 pm »
Dostałem jeszcze taką odpowiedź od innej osoby:

Cytuj
Jak dla mnie jesteś na złej drodze. Powinieneś przywrócić te tabele z kopii zapasowej lub nowej instalacji. Nie są one winne temu problemowi.

Wartość "30,25" została stworzona w funkcji . GetDeliveryPriceByPrice () w pliku classes/carrier.php w linii "-> where ((float) $ orderTotal. '> = R.`delimiter1')".

Więc w jakiś sposób float () dostarczył przecinek zamiast kropki. Może to być ustawienie PHP. Możesz go wypróbować poprzez program Hello World !

Lecz nie jestem na tyle zaawansowany aby to sprawdzić...

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #12 dnia: Październik 08, 2018, 05:33:48 pm »
<?php
echo str_replace(",",".",",,,,,,,,");
?>
zapisujesz jako test.php i uruchamiasz w oknie przeglądarki
jeśli zamieni na kropki jest ok
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline bonek04pl

  • Użytkownik
  • **
  • 41
  • 0
  • PrestaShop
  • PrestaShop: 1.6
  • Status: Właściciel
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #13 dnia: Październik 09, 2018, 07:54:30 am »
http://comiesieczni.pl/test.php

Z tego co widzę to funkcja zamienia prawidłowo przecinki na kropki... Powoli zaczynam rozkładać ręce :/

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
Odp: Bład 500 podczas potwierdzenia zamówienia
« Odpowiedź #14 dnia: Październik 09, 2018, 08:14:07 am »
Odinstaluj Ship2pay
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl