“PHP Warning: move_uploaded_file“ on tüüpiline veebiserveri viga nginx ja kuvatakse siis, kui tahame faili serverisse üles laadida. Enamasti, kui peame üles laadima sertifikaate või muid faile, mis ei kuulu “Media”, me ei näe viga liideses adminCMS registreerimine.
Konkreetsemal kujul viga “PHP Warning: move_uploaded_file” leiame selle sisse error.log
nagu:
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'
Miks viga ilmneb “PHP Warning: move_uploaded_file“ ja kuidas me selle lahendame
Nagu ma eespool ütlesin, ilmneb tõrge siis, kui proovime faile veebiserverisse üles laadida.
"FastCGI sent in stderr
"On tüüpiline serveritele, millel on PHP-FPM ja nginx veebitarkvarana. Seega on probleem kuskil skripti suhetes, mille kaudu faile üles laaditakse.
"move_uploaded_file(): Unable to move
"Ütleb meile väga selgelt, et toimingut sooritav skript ei saa neid faile üles laadida ja veebiserveri teise kausta teisaldada.
Lahendage see viga PHP see lahendatakse väga lihtsalt, seadistades serveris õiged õigused nii täitmisskripti jaoks, millele kõige tõenäolisemal kasutajal: nginxil polnud juurdepääsu, kui ka sihtkausta jaoks.
Kui veebisaidi failid ei kuulu kasutajale, nagu see on cPanelil, VestaCP-l või muudel hostimishaldusplatvormidel, on peaaegu kindlasti lahendus anda nginxi kasutajale juurdepääs üleslaadimiskaustale ja skriptile.
Ülaltoodud koodinäite puhul täidame SSH-s järgmise käsu:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file
Jätkame üleslaadimist ja kõik peaks toimima tõrgeteta “move_uploaded_file(): Unable to move“.
Kui teil on endiselt probleeme, saate selle õpetuse kommentaarides lahendada.