Μετάβαση στο περιεχόμενο

Αναβάθμιση από XOOPS 2,5 σε 2,7

  • PHP 8,2+ απαιτείται — PHP 7.x δεν υποστηρίζεται πλέον
  • Εξαρτήσεις διαχειριζόμενες από συνθέτη — Βασικές βιβλιοθήκες που διαχειρίζονται μέσω composer.json
  • PSR-4 αυτόματη φόρτωση — Οι κλάσεις μονάδων μπορούν να χρησιμοποιούν χώρους ονομάτων
  • Βελτιωμένο XoopsObject — Νέα ασφάλεια τύπου getVar() , καταργημένη obj2Array()
  • Διαχειριστής Bootstrap 5 — Ο πίνακας διαχείρισης ανακατασκευάστηκε με το Bootstrap 5
  • PHP 8.2+ διαθέσιμα στον διακομιστή σας
  • Πλήρες αντίγραφο ασφαλείας βάσης δεδομένων (mysqldump -u user -p xoops_db > backup.sql)
  • Πλήρες αντίγραφο ασφαλείας του αρχείου της εγκατάστασής σας
  • Λίστα εγκατεστημένων μονάδων και οι εκδόσεις τους
  • Δημιουργήθηκε ξεχωριστό αντίγραφο ασφαλείας για το προσαρμοσμένο θέμα

# 1. Θέστε τον ιστότοπο σε λειτουργία συντήρησης

Ενότητα με τίτλο «# 1. Θέστε τον ιστότοπο σε λειτουργία συντήρησης»
// mainfile.php — add temporarily
define('XOOPS_MAINTENANCE', true);
Terminal window
wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zip
unzip xoops-2.7.x.zip

Μεταφορτώστε τα νέα αρχεία, εξαιρουμένων:

  • uploads/ — τα μεταφορτωμένα αρχεία σας
  • xoops_data/ — η διαμόρφωσή σας
  • modules/ — οι εγκατεστημένες μονάδες σας
  • themes/ — τα θέματά σας
  • mainfile.php — διαμόρφωση του ιστότοπού σας
Terminal window
rsync -av --exclude='uploads/' --exclude='xoops_data/' \
--exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \
xoops-2.7/ /var/www/html/

Μεταβείτε στο https://yourdomain.com/upgrade/ στο πρόγραμμα περιήγησής σας. Ο οδηγός αναβάθμισης θα εφαρμόσει μετεγκαταστάσεις βάσης δεδομένων.

Οι μονάδες XOOPS 2.7 πρέπει να είναι συμβατές με το PHP 8.2. Ελέγξτε το Module Ecosystem για ενημερωμένες εκδόσεις.

Στο Διαχειριστής → Ενότητες, κάντε κλικ στο Ενημέρωση για κάθε εγκατεστημένη λειτουργική μονάδα.

# 6. Καταργήστε τη λειτουργία συντήρησης και δοκιμάστε

Ενότητα με τίτλο «# 6. Καταργήστε τη λειτουργία συντήρησης και δοκιμάστε»

Αφαιρέστε τη γραμμή XOOPS_MAINTENANCE από το mainfile.php και επιβεβαιώστε ότι όλες οι σελίδες φορτώνονται σωστά.

Σφάλματα “Η τάξη δεν βρέθηκε” μετά την αναβάθμιση

  • Εκτελέστε το composer dump-autoload στη ρίζα XOOPS
  • Εκκαθαρίστε τον κατάλογο xoops_data/caches/

Μονάδα χαλασμένη μετά την ενημέρωση

  • Ελέγξτε τις εκδόσεις GitHub της μονάδας για έκδοση συμβατή με 2.7
  • Η λειτουργική μονάδα μπορεί να χρειάζεται αλλαγές κώδικα για το PHP 8.2 (συναρτήσεις που έχουν καταργηθεί, ιδιότητες πληκτρολόγησης)

Πάνελ διαχείρισης CSS χαλασμένο

  • Εκκαθαρίστε την προσωρινή μνήμη του προγράμματος περιήγησής σας
  • Βεβαιωθείτε ότι το xoops_lib/ αντικαταστάθηκε πλήρως κατά τη μεταφόρτωση του αρχείου