PHP Warning: chmod(): Operazione non permessa in class-wp-filesystem-direct.php alla riga 173

3 nov 2020, 20:54:58
Visualizzazioni: 22.8K
Voti: 4

Sto eseguendo un'istanza di WordPress sul mio server web ma sto ricevendo questo errore nei log

PHP Warning:  chmod(): Operation not permitted in 
/home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php on line 173, 
referer: http:// mysite.com/

Ho controllato il file class-wp-filesystem-direct.php alla riga 173

ecco la riga:

if ( ! $recursive || ! $this->is_dir( $file ) ) {
                        return chmod( $file, $mode );
}

Questi sono i permessi di questo file:

-rwxrwxr-x 1 root apache 17K Oct 20 20:24 /home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php

Qualcuno di voi sa cosa c'è che non va nella mia istanza di WordPress?

Apprezzerei molto il vostro aiuto.

8
Commenti

Non si tratta di permessi dei file ma di proprietà dei file. Ad esempio, se ho un file con permessi 777 di proprietà di root e nel gruppo root, allora l'utente apache non potrà modificare i suoi permessi

Tom J Nowell Tom J Nowell
3 nov 2020 21:24:56

@TomJNowell, ma la domanda è quale file devo modificare i permessi? o cambiare la proprietà?

user2924482 user2924482
3 nov 2020 21:58:54

Non penso sia possibile dirlo con le sole informazioni che hai fornito, cosa stavi cercando di fare quando è successo? Un aggiornamento di WP?

Tom J Nowell Tom J Nowell
4 nov 2020 01:56:49

posso confermare questo quando provo ad aggiornare wp tramite il backend-dashboard

clockw0rk clockw0rk
21 lug 2021 04:26:38

La mia soluzione è stata caricare nuovamente l'intera cartella wp-includes dalla versione 5.7. La mia fortuna è stata che scrivo plugin e di solito non mi preoccupo del core localmente, quindi dopo l'aggiornamento fallito ho potuto semplicemente ricaricare il core 5.7 e ha funzionato di nuovo

clockw0rk clockw0rk
21 lug 2021 04:34:20

@clockw0rk Potresti per favore approfondire la tua soluzione? Sto avendo lo stesso problema ora.

Cantor Cantor
4 mag 2022 13:01:27

Avevo una installazione funzionante di WordPress sul mio hard disk. L'unica cosa che ho mai caricato / committato era il mio plugin. Quindi quando l'aggiornamento è fallito, ho potuto semplicemente caricare l'intera cartella wp-includes e sovrascriverla sul server - una sorta di "downgrade forzato" per così dire.

clockw0rk clockw0rk
5 mag 2022 19:04:08

Per tua informazione, sono riuscito a eliminare l'errore semplicemente impostando chmod -R 777 sulle cartelle admin e include, poi aggiornando tramite il backend, e infine reimpostando chmod -R 750 sulle cartelle per negare i permessi di scrittura agli script. Se non ti interessa la sicurezza, puoi lasciare i permessi a 777 permanentemente

clockw0rk clockw0rk
5 mag 2022 19:04:26
Mostra i restanti 3 commenti
Tutte le risposte alla domanda 3
4

Nel mio caso, si trattava di file nella cartella /wp-content/uploads/bb-plugin/cache/.

17 dic 2020 08:55:46
Commenti

Vuoi dire che avevi file lì con permessi sbagliati? Perché WordPress dovrebbe provare a fare il chmod su quelli?

Rup Rup
17 dic 2020 10:22:02

@Rup bb-plugin ha provato ad accedere a questi file usando l'API dei file di WP. Non ricordo se il plugin abbia provato a creare nuovi file o modificare quelli esistenti.

Aleksandr Levashov Aleksandr Levashov
18 dic 2020 16:43:08

hmm, ho fatto ls -l su ogni file nella cartella uploads ma non riesco a trovare il file che causa l'errore. Sto sviluppando localmente con XAMPP su un macbook. Ma all'improvviso non riesco più ad aggiornare i miei plugin

alex alex
10 gen 2022 23:30:18

stesso problema per me, Beaver Builder

Sam Holguin Sam Holguin
14 giu 2023 13:39:56
0

È necessario cambiare la proprietà da "root" a "www-data". www-data è l'utente web per apache2.

sudo chown www-data /var/www/html/[yourwebsitefolder]/wp-admin/includes/class-wp-filesystem-direct.php

oppure, meglio ancora, cambiare tutti i file della cartella wp-admin in modo ricorsivo

sudo chown www-data /var/www/html/[yourwebsitefolder]/wp-admin/  -R
7 set 2022 08:57:19
0

Devi verificare l'utente con cui il tuo server web è in esecuzione e l'utente proprietario e il gruppo dei file all'interno della cartella wp-content.

Se l'utente del webserver non è lo stesso del proprietario dei file, o non appartiene allo stesso gruppo, allora questo errore si verifica perché lo script, quando tenta di rigenerare le diverse dimensioni dell'immagine originale, non ha i permessi per sostituire i file e quindi genera l'errore sopra menzionato.

21 feb 2023 03:38:54