Για να επιλύσετε το μήνυμα σφάλματος του Wordpress: "Η ενημέρωση δεν μπορεί να προχωρήσει επειδή δεν είναι δυνατή η αντιγραφή ορισμένων αρχείων", αυτό το ζήτημα συνήθως προκαλείται από ασυνεπή δικαιώματα αρχείων.

Κατά τη συντήρηση ενός ιστότοπου WordPress στο περιβάλλον HestiaCP , ενδέχεται να εμφανιστεί το μήνυμα σφάλματος "Η ενημέρωση δεν μπορεί να εκτελεστεί επειδή δεν είναι δυνατή η αντιγραφή ορισμένων αρχείων".

Αυτή η προειδοποίηση μπορεί να φαίνεται ανησυχητική, αλλά στην πραγματικότητα είναι ένα από τα πιο συνηθισμένα προβλήματα που σχετίζονται με τα δικαιώματα του WordPress.

Συνήθως συμβαίνει κατά τις αυτόματες αναβαθμίσεις πρόσθετων (plugins), θεμάτων (themes) ή του πυρήνα του WordPress.

Επιφανειακά, είναι απλώς μια «αποτυχημένη ενημέρωση», αλλά η βασική αιτία σχεδόν πάντα υποδεικνύει το ίδιο πράγμα: ασυνεπή δικαιώματα αρχείων.

Τα καλά νέα είναι ότι μόλις κατανοήσετε το μοντέλο χρήστη του HestiaCP, μπορείτε να λύσετε πλήρως το πρόβλημα με λίγες μόνο εντολές.

Βασική αιτία του προβλήματος: Γιατί παρουσιάζεται η ασυμφωνία δικαιωμάτων;

Στο περιβάλλον HestiaCP, κάθε ιστότοπος (Vhost) εκτελείται υπό ξεχωριστό χρήστη συστήματος.

Εν τω μεταξύ, οι διεργασίες της διαδικτυακής υπηρεσίας (PHP-FPM / Nginx) εκτελούνται επίσης στον λογαριασμό χρήστη συστήματος που αντιστοιχεί στον ιστότοπο.

Επομένως, όταν ο κάτοχος ορισμένων πρόσθετων (plugins) ή αρχείων θεμάτων γίνει root ή άλλος χρήστης, οι χρήστες του ιστότοπου δεν θα έχουν το δικαίωμα να τροποποιήσουν ή να διαγράψουν αυτά τα αρχεία.

Κατά τη διάρκεια της αναβάθμισης, το WordPress πρέπει να αντιγράψει και να αντικαταστήσει αυτά τα αρχεία. Εάν τα δικαιώματα είναι λανθασμένα, η αναβάθμιση θα διακοπεί και θα εμφανιστεί η παραπάνω ερώτηση.

Ο βασικός λόγος μπορεί να συνοψιστεί σε μία πρόταση: ο κάτοχος του αρχείου δεν είναι πλέον χρήστης του συστήματος του ιστότοπου.

Λύση: Επιδιορθώστε τα δικαιώματα αρχείων στο τερματικό SSH.

Παρακάτω παρατίθενται τα επαληθευμένα βήματα επιδιόρθωσης. Απλώς εκτελέστε τις εντολές διαδοχικά στο τερματικό SSH.

Αντικαταστήστε το your_user στο παράδειγμα με το όνομα χρήστη HestiaCP και το yourdomain.com με το πραγματικό όνομα τομέα σας.

Η όλη διαδικασία δεν απαιτεί επανεκκίνηση της υπηρεσίας και δεν θα επηρεάσει τα υπάρχοντα δεδομένα του ιστότοπου.

Η όλη διαδικασία διαρκεί περίπου δύο λεπτά και ακόμη και οι αρχάριοι μπορούν να την εκτελέσουν με επιτυχία με την πρώτη τους προσπάθεια, απλώς αντιγράφοντας και επικολλώντας.

Πριν προχωρήσετε, συνιστάται να επιβεβαιώσετε ότι το τερματικό μπορεί να συνδεθεί ως διαχειριστής για να αποφύγετε την αποσύνδεση κατά τη διάρκεια της διαδικασίας.

Βήμα 1: Ορισμός μεταβλητών

Αρχικά, ορίστε δύο μεταβλητές, όνομα χρήστη και όνομα τομέα, στο τερματικό, έτσι ώστε οι επόμενες εντολές να μπορούν να επαναχρησιμοποιηθούν απευθείας.

# 设置你的 Hestia 用户名和域名
HESTIA_USER="your_user"
HESTIA_DOMAIN="yourdomain.com"

Μόλις οριστούν οι μεταβλητές, όλες οι επόμενες εντολές μπορούν να αναφέρονται απευθείας σε αυτές, αποφεύγοντας την ανάγκη για χειροκίνητη εισαγωγή κάθε φορά.

Βήμα 2: Επαναφορά ιδιοκτησίας αρχείου (επιδιόρθωση πυρήνα)

Επιβολή επιστροφής στον κάτοχο συστήματος και στην ομάδα χρηστών όλων των αρχείων στον κατάλογο ιστότοπων στον αντίστοιχο χρήστη HestiaCP.

chown -R $HESTIA_USER:$HESTIA_USER /home/$HESTIA_USER/web/$HESTIA_DOMAIN/public_html

Αυτό το βήμα είναι ο πυρήνας ολόκληρης της διαδικασίας επισκευής. Μόλις επιλυθεί το ζήτημα της ιδιοκτησίας, το πρόβλημα έχει λυθεί.

Για να επιλύσετε το μήνυμα σφάλματος του Wordpress: "Η ενημέρωση δεν μπορεί να προχωρήσει επειδή δεν είναι δυνατή η αντιγραφή ορισμένων αρχείων", αυτό το ζήτημα συνήθως προκαλείται από ασυνεπή δικαιώματα αρχείων.

Εάν το chown αναφέρει ότι η διαδρομή δεν υπάρχει, ελέγξτε πρώτα εάν η ορθογραφία της μεταβλητής ταιριάζει με τον πραγματικό κατάλογο.

Βήμα 3: Επαναφορά τυπικών δικαιωμάτων αρχείων και καταλόγων HestiaCP

Στη συνέχεια, ορίστε τα δικαιώματα καταλόγου σε 755 και τα δικαιώματα αρχείων σε 644.

# 修复所有目录权限为 755
find /home/$HESTIA_USER/web/$HESTIA_DOMAIN/public_html -type d -exec chmod 755 {} \;

# 修复所有文件权限为 644
find /home/$HESTIA_USER/web/$HESTIA_DOMAIN/public_html -type f -exec chmod 644 {} \;

Αυτά τα δύο σύνολα δικαιωμάτων είναι τυπικές διαμορφώσεις για το HestiaCP, οι οποίες μπορούν ταυτόχρονα να ικανοποιήσουν τόσο την ασφάλεια όσο και την εγγράψιμη δυνατότητα.

Σκριπτ με ένα κλικ (συνιστάται)

Αν θέλετε να ολοκληρώσετε όλες τις παραπάνω λειτουργίες ταυτόχρονα, μπορείτε να χρησιμοποιήσετε το ακόλουθο σενάριο με ένα κλικ.

Απλώς αντικαταστήστε τα your_user και chenweiliang.com με τις πραγματικές σας τιμές, επικολλήστε ολόκληρη την παράγραφο στο τερματικό και πατήστε Enter.

USER="your_user" DOMAIN="chenweiliang.com" && chown -R $USER:$USER /home/$USER/web/$DOMAIN/public_html && find /home/$USER/web/$DOMAIN/public_html -type d -exec chmod 755 {} \; && find /home/$USER/web/$DOMAIN/public_html -type f -exec chmod 644 {} \;

Επιπλέον συμβουλές: Για να κάνετε την επισκευή πιο λεπτομερή

Η διόρθωση των δικαιωμάτων αντιμετωπίζει μόνο την άμεση αιτία του προβλήματος "κολλήματος ενημέρωσης". Για να επιλύσετε πλήρως αυτό το πρόβλημα, υπάρχουν δύο ακόμη πράγματα που αξίζει να κάνετε.

Πρώτον, καθαρίστε τα υπολειπόμενα αρχεία που έχουν απομείνει από τη διακοπή της αναβάθμισης και δεύτερον, μάθετε πώς να εκτελείτε επιδιορθώσεις στο παρασκήνιο χωρίς να βασίζεστε στο SSH.

Αυτά τα δύο βήματα δεν είναι δύσκολα, αλλά μπορούν να μειώσουν σημαντικά την πιθανότητα επανεμφάνισης παρόμοιων προβλημάτων.

Οι ακόλουθες λειτουργίες βασίζονται όλες στην προϋπόθεση ότι τα δικαιώματα μόλις έχουν αποκατασταθεί. Η εκτέλεσή τους με τη σειρά θα αποφέρει τα καλύτερα αποτελέσματα.

Εάν έχετε περισσότερες από μία τοποθεσίες στον διακομιστή σας, μπορείτε επίσης να οργανώσετε αυτήν τη διαδικασία σε ένα πρότυπο σεναρίου για επαναλαμβανόμενη χρήση.

Αφαίρεση προσωρινών υπολειμμάτων αναβάθμισης

Μετά την επαναφορά των δικαιωμάτων, συνιστάται να καθαρίσετε τυχόν προσωρινά αρχεία που απομένουν όταν διακόπηκε η αναβάθμιση του WordPress.

Αυτά τα υπολειπόμενα αρχεία βρίσκονται στον κατάλογο wp-content/upgrade. Η μη κατάργησή τους μπορεί να προκαλέσει ξανά καθυστέρηση στην επόμενη αναβάθμιση.

rm -rf /home/$USER/web/$DOMAIN/public_html/wp-content/upgrade/*

Δεν θέλετε να χρησιμοποιήσετε SSH; Διορθώστε το χειροκίνητα στο backend του HestiaCP.

Αν δεν σας είναι εύκολο να χρησιμοποιήσετε τη γραμμή εντολών, μπορείτε επίσης να συνδεθείτε στο backend του HestiaCP και να επαναφέρετε τα δικαιώματα μέσω του διαχειριστή αρχείων.

Μεταβείτε στα Αρχεία (διαχειριστής αρχείων) και μεταβείτε στο /home/USER/web/DOMAIN/public_html/wp-content.

Κάντε δεξί κλικ στον φάκελο πρόσθετων ή θεμάτων και επιλέξτε Επαναφορά δικαιωμάτων.

Αφού επαναφέρετε τα δικαιώματα, επιστρέψτε στον πίνακα διαχείρισης του WordPress και κάντε ξανά κλικ στην ενημέρωση. Συνήθως θα πρέπει να λειτουργεί ομαλά.

Εάν το ίδιο σφάλμα επιμένει μετά την εκτέλεση της λειτουργίας backend, απλώς επιστρέψτε στην παραπάνω λύση SSH και επαληθεύστε ξανά την ιδιοκτησία.

总结

Εάν εμφανιστεί το μήνυμα "Η ενημέρωση δεν μπορεί να εκτελεστεί επειδή δεν είναι δυνατή η αντιγραφή ορισμένων αρχείων", μην βιαστείτε να την επανεγκαταστήσετε. Στις περισσότερες περιπτώσεις, πρόκειται για πρόβλημα δικαιωμάτων.

Χρησιμοποιώντας μία μόνο εντολή `chown` και δύο εντολές `find` για την επιστροφή ιδιοκτησίας και δικαιωμάτων, οι ενημερώσεις του WordPress μπορούν να ολοκληρωθούν ομαλά.

Η ανάπτυξη της συνήθειας ελέγχου της ιδιοκτησίας των αρχείων πριν από την αναβάθμιση μπορεί ουσιαστικά να αποτρέψει την επανάληψη αυτού του είδους των σφαλμάτων.

Ας ελπίσουμε ότι το άρθρο "Επίλυση της προτροπής WORDPRESS: Η ενημέρωση δεν μπορεί να προχωρήσει επειδή ορισμένα αρχεία δεν μπορούν να αντιγραφούν. Αυτό το πρόβλημα συνήθως προκαλείται από ασυνεπή δικαιώματα αρχείων", που κοινοποιήθηκε στο ιστολόγιο του Chen Weiliang ( https://www.chenweiliang.com/ ), θα σας φανεί χρήσιμο.

Μη διστάσετε να κοινοποιήσετε τον σύνδεσμο αυτού του άρθρου: https://www.chenweiliang.com/cwl-34583.html

Για να ξεκλειδώσετε περισσότερα κρυμμένα κόλπα🔑, καλώς ήρθατε στο κανάλι μας στο Telegram!

Κάντε share και like αν σας αρέσει! Τα share και τα likes σας είναι το συνεχές μας κίνητρο!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Μεταβείτε στην κορυφή