Actualizare WordPress - Aceasta se datorează de obicei permisiunilor inconsistente ale fișierelor: wp-admin/includes/update-core.php

18 mar. 2021, 17:32:21
Vizualizări: 23.4K
Voturi: 0

Am câteva site-uri WordPress pe un server cu acces root și la momentul creării serverului, totul funcționa bine, iar WordPress-ul în sine, plugin-urile și temele se actualizau fără probleme, dar nu sunt sigur de ce recent am primit o eroare care indică de obicei o problemă de permisiuni (deși văd că permisiunile sunt în regulă).

Eroare la actualizarea WordPress:

Se descarcă actualizarea de la https://downloads.wordpress.org/release/fa_IR/wordpress-5.7.zip…

Autenticitatea wordpress-5.7.zip nu a putut fi verificată deoarece nu s-a găsit nicio semnătură.

Se despachetează actualizarea…

Actualizarea nu poate fi instalată deoarece nu vom putea copia unele fișiere. Acest lucru se datorează de obicei permisiunilor inconsistente ale fișierelor: wp-admin/includes/update-core.php

Instalarea a eșuat.

Acestea sunt verificările pe care le-am făcut pentru a investiga problema:

ls -ld /home
drwx--x--x 26 root root 4096 Mar 9 20:03 home
ls -ld /home/my_user
drwx--x--x 26 my_user my_user 4096 Mar 9 20:03 /home/my_user/
ls -ld /home/my_user/public_html
drwxr-x--- 26 my_user nobody 4096 Mar 9 20:03 /home/my_user/public_html/

De asemenea, toate fișierele din public_html au permisiuni 0644, iar toate directoarele au 0755.

cd /home/my_user/public_html/
find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;
find . -type f -exec chown my_user:my_user {} \; && find . -type d -exec chown my_user:my_user {} \;

Rezultatul comenzii lsattr este următorul:

lsattr /home/my_user/public_html/wp-admin/includes/update-core.php
-------------e-- /home/my_user/public_html/wp-admin/includes/update-core.php

Deci până acum, nu există nimic în neregulă cu permisiunile și proprietatea în opinia mea.

Verificarea permisiunilor și proprietății pentru wp-admin, wp-admin/includes și wp-admin/includes/update-core.php era în regulă și nu avea probleme, dar nu sunt sigur de ce WordPress nu poate instala niciun plugin, temă sau pe sine însuși.

PHP-Handler este suphp (l-am rulat și cu cgi și lsapi) dar nimic nu s-a schimbat în această privință.

Configurația Apache este următoarea:

MPM: mod_mpm_prefork
Module Apache (câteva dintre ele):
mod_cgi
mod_lsapi
mod_mpm_prefork
mod_suexec
mod_suphp

Trebuie să menționez că am creat un fișier precum info.php și l-am executat în browser, este în regulă. Apoi am modificat proprietarul la root:root și în al doilea caz primesc eroarea 403 (ceea ce era de așteptat), apoi l-am readus la my_user:my_user

Grupul Apache este nobody cred, iar proprietarul directorului public_html este my_user:nobody. Deci site-ul meu și alte site-uri funcționează bine, dar singura problemă apare la actualizare sau chiar la încercarea de a instala un plugin/temă/actualizare nouă.

Am verificat fișierele de log dar nu s-a înregistrat nimic.

4
Comentarii

Se întâmplă acest lucru în browser sau folosești wp-cli pentru a actualiza WordPress?

Pat J Pat J
18 mar. 2021 22:34:17

Folosesc browserul web

Saeed Saeed
18 mar. 2021 22:49:56

Sub ce proces rulează serverul tău web? Este my_user sau este ceva de genul www-data, apache sau httpd? Dacă nu este my_user, atunci de aceea WordPress nu poate înlocui fișierele.

Pat J Pat J
18 mar. 2021 23:38:24

Este my_user când rulez top și văd utilizatorul pentru lsphp

Saeed Saeed
19 mar. 2021 10:06:45
Toate răspunsurile la întrebare 1
2

Am rezolvat această problemă făcând utilizatorul serverului web proprietar și grupul tuturor fișierelor din directorul WordPress.

Am aflat că utilizatorul serverului web este daemon folosind:

ps aux | egrep '(apache|httpd)'

Apoi am schimbat permisiunile cu:

sudo chown -R daemon:daemon /calea-ta-catre-wordpress
17 apr. 2021 19:32:48
Comentarii

Mulțumesc, dar am reinstalat sistemul de operare și acum totul funcționează corect, însă asta nu mi-a rezolvat problema pentru că am încercat deja acest lucru

Saeed Saeed
17 apr. 2021 20:24:45

wow, am căutat pe internet și se pare că a funcționat și pentru mine pe Xampp Mac fără să verific nici măcar utilizatorul serverului web: sudo ........daemon:daemon /wordpress-folder mulțumesc

alex alex
12 ian. 2022 19:35:23