How To Fix: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

PHP Warning: move_uploaded_file este o eroare tipica serverelor web cu NGINX si apare atunci cand dorim sa facem upload unui fisier pe server. De cele mai multe ori, atunci cand trebuie sa facem upload unor certificate sau altor fisiere care nu tin de “Media”, eroarea nu o vedem in interfata de administrare a CMS-ului.

Intr-o forma mai concreta, eroarea “PHP Warning: move_uploaded_file” o gasim in error.log sub forma:

FastCGI sent in stderr: "PHP message: PHP Warning:  move_uploaded_file(/srv/www/domain.test/public/file.file): failed to open stream: Permission denied in /srv/www/domain.test/public/script.php on line 748 PHP message: PHP Warning:  move_uploaded_file(): Unable to move '/tmp/phpqAVtWy'

De ce apare eroarea PHP Warning: move_uploaded_file si cum o rezolvam

Asa cum am spus si mai sus, eroarea apare atunci cand incercam sa facem upload unor fisiere pe serverul web.

FastCGI sent in stderr” este tipic pentru serverele care au PHP-FPM si NGINX ca sofware pentru web. Deci problema este undeva la relatia scriptului prin care se face upload cu fisierele.

move_uploaded_file(): Unable to move” ne spune foarte clar ca acele fisiere nu pot fi uploadate si mutate in alt folder de pe serverul web de catre scriptul care executa operatiunea.

Rezolvarea acestei erori PHP se rezolva foarte simplu, setand pe server permisiunile corecte, atat pentru scriptul de executie, la care cel mai probabil user: nginx nu avea acces, cat si pentru folderul de destinatie.

Daca fisierele website-ului nu apartin de un user, asa cum este pe cPanel, VestaCP sau alte platforme de hosting management, atunci aproape sigur rezolvarea este sa dam acces user-ului nginx la folderul de upload si la script.

Pentru exemplul de cod de mai sus, vom executa in SSH urmatoarea comanda:

chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file

Reluam upload si totul ar trebui sa decurga fara eroarea move_uploaded_file(): Unable to move.

Daca intampinati in continuare probleme, se poate rezolva in comentariile de la acest tutorial.

Pasionat de tehnologie, imi place sa testez si sa scriu tutoriale despre sistemele de operare macOS, Linux, Windows, despre WordPress, WooCommerce si configurare servere web LEMP (Linux, NGINX, MySQL si PHP). Scriu pe StealthSettings.com din 2006, iar cativa ani mai tarziu am inceput sa scriu pe iHowTo.Tips tutoriale si noutati despre device-uri din ecosistemul Apple: iPhone, iPad, Apple Watch, HomePod, iMac, MacBook, AirPods si accesorii.

Leave a Comment