Warning: move_uploaded_file(/var/www/uploads/avatar.png): Failed to open stream: Permission denied. – PHP E_WARNING

E_WARNING

La funzione non riesce a spostare il file temporaneo nella cartella definitiva perché l'utente di sistema di PHP (`www-data` o `nginx`) non possiede i permessi di scrittura sulla directory di destinazione.

Cosa significa questo errore?

La funzione non riesce a spostare il file temporaneo nella cartella definitiva perché l'utente di sistema di PHP (`www-data` o `nginx`) non possiede i permessi di scrittura sulla directory di destinazione.

Messaggio originale

Warning: move_uploaded_file(/var/www/uploads/avatar.png): Failed to open stream: Permission denied.

Contesto e parole chiave

Alias

  • move_uploaded_file failed to open stream
  • move_uploaded_file permission denied

Messaggi alternativi

  • spostamento file caricato fallito permessi cartella di destinazione negati

Prodotti

  • PHP Engine / Zend Engine / PHP-FPM / Composer

Piattaforme

  • Linux
  • macOS
  • Windows Server

Parole chiave

  • composer
  • E_WARNING
  • errore-php-move-uploaded-file-permission-denied
  • php
  • php 8
  • php.runtime.move-uploaded-file-permission-denied
  • Runtime

Cause possibili

Origine del problema per PHP: Warning — move_uploaded_file(): Permission denied

La funzione non riesce a spostare il file temporaneo nella cartella definitiva perché l'utente di sistema di PHP (`www-data` o `nginx`) non possiede i permessi di scrittura sulla directory di destinazione.

molto comune

Diagnosi

Diagnostica PHP per PHP: Warning — move_uploaded_file(): Permission denied

Esaminare i log degli errori di PHP nel file specificato da error_log in php.ini o nei log di PHP-FPM /var/log/php-fpm/www-error.log.

Come leggere il risultato. Mostra lo stack trace completo dell'errore, file e numero di riga esatti in cui è avvenuto il blocco.

terminal
tail -n 50 /var/log/nginx/error.log

Risoluzione

Procedura di risoluzione per PHP: Warning — move_uploaded_file(): Permission denied

Difficoltà: facileRischio: basso

Applicare la correzione al codice PHP o alla configurazione del php.ini secondo le specifiche ufficiali.

  1. Verificare la riga di codice segnalata nello stack trace
  2. Regolare i parametri in php.ini se l'errore deriva da limiti di sistema
  3. Riavviare il servizio PHP-FPM o Apache
terminal
sudo systemctl reload php-fpm

Domande frequenti

Come risolvere il codice o errore E_WARNING in PHP?

La funzione non riesce a spostare il file temporaneo nella cartella definitiva perché l'utente di sistema di PHP (`www-data` o `nginx`) non possiede i permessi di scrittura sulla directory di destinazione.

Approfondimenti

Schede correlate