PHP Warning: chmod(): Operazione non permessa in class-wp-filesystem-direct.php alla riga 173
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.
Vuoi dire che avevi file lì con permessi sbagliati? Perché WordPress dovrebbe provare a fare il chmod su quelli?

@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.

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

È 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

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.
