PrestaShop Error 500

PrestaShop Error 500


Συμπτώματα :

– Η Prestashop ιστοσελίδα μου εμφανίζει error 500

– To error_log στην PHP εμφανίζει generic error GET / HTTP/2

Αφορά : WebHosting | Linux Plesk Reseller Hosting


Debugging error 500

Το error 500 είναι ένα generic server error, που σημαίνει ότι το πρόβλημα μπορεί να είναι οτιδήποτε.

Για να αναγνωρίσουμε τι ακριβώς είναι, πρέπει να εκτελέσουμε για αρχή τις 2 παρακάτω ενέργειες.

– Να δούμε τα error_logs στην PHP αν αναπαράγουν errors που θα μας δείξουν πιο είναι το πρόβλημα.
– Να ενεργοποιήσουμε το debugging mode στο prestashop έτσι ώστε αντί να βλέπουμε το γενικό μήνυμα λάθους, να εμφανιστεί το πραγματικό πρόβλημα.

Ανάγνωση PHP error_log Plesk

Τα error logs που αναπαράγονται στην php μπορούμε να τα διαβάσουμε απο το plesk panel.

Websites & Domains -> επιλογή domain -> logs

plesk logs

Από το drop down menu πάνω δεξιά επιλέγουμε να βλέπουμε μόνο τα errors

plesk error log

Αν στα error logs μας δείχνει πιο ειναι το πραγματικό πρόβλημα και έχουμε εντοπίσει τι είναι μπορούμε να προχωρήσουμε στην επίλυση του.

Αν και στα php error logs εμφανίζετε ένα γενικό μήνυμα λάθους προχωράμε στο επόμενο βήμα, την ενεργοποίηση του debugging στο prestashop.

Prestashop debugging activation

Η ενεργοποίηση του debugging mode στο prestashop γίνεται πολυ εύκολα.
Το μόνο που χρειάζεται είναι να αλλάξουμε μια παράμετρο.

Από τον plesk filemanager βρίσκουμε το παρακάτω αρχείο το επεξεργαζόμαστε

httpdocs -> config -> defines.inc.php

Αλλάζουμε την γραμμή

define('_PS_MODE_DEV_', false);
σε
define('_PS_MODE_DEV_', true);

Ανοίγουμε το prestashop στον browser μας.
Θα έχει εμφανιστεί το πραγματικό error.

Αν δεν έχουμε ξαναδεί αυτό το μήνυμα λάθους, το κάνουμε copy και κάνουμε αναζήτηση σε μια μηχανή αναζήτησης να δούμε τι είναι.

Prestashop 1.4 – 1.5.3

Σε αυτές τις παλαιότερες εκδόσεις η ενεργοποίηση του debug mode γίνεται από την επεξεργασία του αρχείου httpdocs -> config -> config.inc.php

Βρίσκουμε και αλλάζουμε την γραμμή

@ini_set('display_errors', 'off');
σε
@ini_set('display_errors', 'on');

Αφού διορθώσουμε το πρόβλημα πρέπει να θυμηθούμε να επαναφέρουμε το debugging mode σε OFF