Call to undefined function mysqli_connect() στο CS-Cart
Fatal error για τη συνάρτηση mysqli_connect μετά από αλλαγή στον server. Γιατί συμβαίνει, τι ορίζει το database_backend και ποια είναι η σωστή σειρά ελέγχου.
Τι βλέπετε
Σφάλμα PHP που δηλώνει ότι η συνάρτηση mysqli_connect() δεν ορίζεται, συνήθως μαζί με όνομα αρχείου και γραμμή. Το κατάστημα δεν ανοίγει καθόλου.
Σχεδόν πάντα εμφανίζεται αμέσως μετά από αλλαγή στον server: νέα έκδοση PHP, νέο περιβάλλον, μεταφορά σε άλλο hosting.
Τι σημαίνει συνήθως
Το μήνυμα λέει ότι η PHP δεν έχει διαθέσιμη την επέκταση που παρέχει αυτή τη συνάρτηση. Η σελίδα απαιτήσεων του CS-Cart ορίζει την υποστήριξη MySQL ως υποχρεωτική, με mysqli ή pdo_mysql.
Η τεκμηρίωση για το συγκεκριμένο σφάλμα εξηγεί ότι η έκδοση MySQL καθορίζεται κατά την εγκατάσταση του CS-Cart και δεν επαναπροσδιορίζεται αυτόματα μετά από αναβάθμιση MySQL στον server, και αναφέρει τη μεταβλητή database_backend στο config.local.php.
Πρακτικά υπάρχουν δύο εκδοχές:
- Η επέκταση λείπει από τη νέα ρύθμιση PHP. Αυτό διορθώνεται στον server, όχι στο CS-Cart.
- Η ρύθμιση του καταστήματος δείχνει σε backend που δεν είναι διαθέσιμο στο νέο περιβάλλον.
Η πρώτη εκδοχή είναι πολύ πιο συχνή σε σημερινές εγκαταστάσεις.
Έλεγχοι με σειρά
- Ρωτήστε τι άλλαξε. Έκδοση PHP, μεταφορά, νέο περιβάλλον; Η χρονική συσχέτιση σχεδόν πάντα δίνει την απάντηση.
- Ζητήστε τη λίστα ενεργών επεκτάσεων PHP από τον πάροχο, ή ελέγξτε την από τον λογαριασμό hosting. Αναζητήστε
mysqliκαιpdo_mysql. - Αν λείπουν, ζητήστε ενεργοποίηση. Είναι τυπικές επεκτάσεις και υπάρχουν σε κάθε σοβαρό hosting.
- Αν υπάρχουν και το σφάλμα παραμένει, ο έλεγχος του
config.local.phpγίνεται από τεχνικό. - Επιβεβαιώστε ότι η έκδοση PHP ταιριάζει με την έκδοση CS-Cart σας. Η σελίδα απαιτήσεων ορίζει από ποια έκδοση πλατφόρμας υποστηρίζεται κάθε έκδοση PHP.
Προσοχή πριν αλλάξετε κάτι
Η επεξεργασία του database_backend δεν είναι «γενική διόρθωση». Αν η επέκταση λείπει, αλλάζοντας την τιμή μετακινείτε το πρόβλημα αντί να το λύσετε.
Μην επαναφέρετε τη PHP σε παλιά έκδοση ως μόνιμη λύση. Η τεκμηρίωση συνιστά ρητά να μην μετακινείτε το κατάστημα σε πρώιμες εκδόσεις PHP αν χρησιμοποιούσατε 7.4 ή νεότερη, και σημειώνει ότι αυτό μπορεί να εμποδίσει χρήστες να συνδεθούν. Επιπλέον, παλιές εκδόσεις PHP δεν λαμβάνουν ενημερώσεις ασφαλείας.
Η σωστή σειρά είναι: επαναφορά της προηγούμενης λειτουργικής ρύθμισης στον server, μετά οργανωμένη αναβάθμιση σε δοκιμαστικό αντίγραφο.
Τι να κρατήσετε για τον τεχνικό
- Το μήνυμα αυτολεξεί, με αρχείο και γραμμή.
- Τι άλλαξε στον server και πότε.
- Προηγούμενη και τρέχουσα έκδοση PHP.
- Αν οι επεκτάσεις
mysqliκαιpdo_mysqlείναι ενεργές. - Την έκδοση CS-Cart.
Πηγές
Τα στοιχεία της πλατφόρμας προέρχονται από την επίσημη τεκμηρίωση. Η σειρά διερεύνησης, οι προειδοποιήσεις για περιβάλλον παραγωγής και οι πρακτικές συστάσεις είναι συντακτική κρίση, χωρίς ισχυρισμό δοκιμής στη δική σας εγκατάσταση.
Σχετικά συμπτώματα
Cannot connect to the database server στο CS-Cart
Μήνυμα ότι δεν είναι δυνατή η σύνδεση στη βάση δεδομένων.
Δείτε τους ελέγχους →Λευκή σελίδα κατά import, export ή backup βάσης
Η σελίδα μένει λευκή στη μέση import, export ή backup.
Δείτε τους ελέγχους →Table is marked as crashed and should be repaired
Database error ότι ένας πίνακας είναι marked as crashed.
Δείτε τους ελέγχους →