Aggiornamento WordPress - Questo è solitamente dovuto a permessi di file inconsistenti: wp-admin/includes/update-core.php

18 mar 2021, 17:32:21
Visualizzazioni: 23.4K
Voti: 0

Ho alcuni server WordPress con accesso root e al momento della creazione del server tutto funzionava correttamente, WordPress stesso e i plugin e i temi si aggiornavano senza problemi, ma non sono sicuro del perché recentemente ho ricevuto un errore che indica solitamente un problema di permessi (anche se i permessi sembrano corretti).

Errore durante l'aggiornamento di WordPress:

Download dell'aggiornamento da https://downloads.wordpress.org/release/fa_IR/wordpress-5.7.zip…

L'autenticità di wordpress-5.7.zip non può essere verificata poiché non è stata trovata alcuna firma.

Estrazione dell'aggiornamento...

L'aggiornamento non può essere installato perché non saremo in grado di copiare alcuni file. Questo è solitamente dovuto a permessi di file inconsistenti: wp-admin/includes/update-core.php

Installazione fallita.

Ecco cosa ho fatto per investigare il 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/

Inoltre tutti i file all'interno di public_html hanno permessi 0644 e tutte le directory sono 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 {} \;

Il risultato di lsattr è il seguente:

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

Quindi finora, secondo me non c'è nulla di sbagliato con i permessi e la proprietà.

Il controllo dei permessi e della proprietà di wp-admin, wp-admin/includes e wp-admin/includes/update-core.php era corretto e non aveva problemi, ma non sono sicuro del perché WordPress non possa installare alcun plugin, tema o sé stesso.

Il PHP-Handler è suphp (l'ho anche eseguito con cgi e lsapi) ma nulla è cambiato a questo riguardo.

La configurazione di Apache è la seguente:

MPM: mod_mpm_prefork
Moduli Apache (alcuni di essi):
mod_cgi
mod_lsapi
mod_mpm_prefork
mod_suexec
mod_suphp

Devo menzionare che ho creato un file come info.php e l'ho eseguito nel browser web, funziona correttamente. Poi ho fatto chown a root:root e nel secondo caso ottengo errore 403 (come previsto), quindi l'ho riportato nuovamente a my_user:my_user

Il gruppo Apache è nobody penso, e il chown della directory public_html è my_user:nobody. Quindi il mio sito web e gli altri siti web funzionano correttamente, ma l'unico problema è durante l'aggiornamento o anche quando si tenta di installare un plugin/tema/nuovo aggiornamento.

Ho controllato i file di log ma non è stato registrato nulla.

4
Commenti

Questo avviene nel browser, o stai utilizzando wp-cli per aggiornare WordPress?

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

Utilizzo il browser web

Saeed Saeed
18 mar 2021 22:49:56

Con quale utente viene eseguito il processo del tuo webserver? È my_user oppure qualcosa come www-data, apache o httpd? Se non è my_user, questo sarebbe il motivo per cui WordPress non può sostituire i file.

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

È my_user quando eseguo top e vedo l'utente di lsphp

Saeed Saeed
19 mar 2021 10:06:45
Tutte le risposte alla domanda 1
2

Ho risolto questo problema rendendo l'utente del webserver il proprietario e il gruppo di tutti i file nella directory di WordPress.

Ho identificato che l'utente del webserver era daemon con:

ps aux | egrep '(apache|httpd)'

Poi ho modificato i permessi con:

sudo chown -R daemon:daemon /tuo-percorso-verso-wordpress
17 apr 2021 19:32:48
Commenti

Grazie, ma ho reinstallato il sistema operativo e ora tutto funziona bene, ma questo non ha risolto il mio problema perché l'avevo già provato

Saeed Saeed
17 apr 2021 20:24:45

wow, cercando sul web sembra che abbia funzionato anche per me su Xampp Mac senza nemmeno controllare l'utente del webserver: sudo ........daemon:daemon /cartella-wordpress grazie

alex alex
12 gen 2022 19:35:23