“PHP Warning: move_uploaded_file“ är ett typiskt webbserverfel med nginx och visas när vi vill ladda upp en fil till servern. Oftast när vi måste ladda upp certifikat eller andra filer som inte tillhör “Media”, vi ser inte felet i gränssnittet för adminCMS-registrering.
I en mer konkret form, felet “PHP Warning: move_uploaded_file” vi hittar den i error.log
som:
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'
Varför felet uppstår “PHP Warning: move_uploaded_file“ och hur vi löser det
Som jag sa ovan uppstår felet när vi försöker ladda upp filer till webbservern.
"FastCGI sent in stderr
”Är typiskt för servrar som har PHP-FPM och nginx som programvara för webben. Så problemet ligger någonstans i förhållandet till skriptet genom vilket filerna laddas upp.
"move_uploaded_file(): Unable to move
”Berättar väldigt tydligt för oss att dessa filer inte kan laddas upp och flyttas till en annan mapp på webbservern av skriptet som utför operationen.
- Fixa NGINX Error: kunde inte tilldela ny session i SSL session delad cache "le_nginx_SSL”Medan SSL handskakning
- Åtgärda [HTTP Error] klient avsedd att skicka för stor text [Media Upload WordPress]
Lös detta fel PHP det löses mycket enkelt genom att ställa in rätt behörigheter på servern, både för exekveringsskriptet, som den mest sannolika användaren: nginx inte hade tillgång till, och för målmappen.
Om webbplatsfilerna inte tillhör en användare, som det är på cPanel, VestaCP eller andra värdhanteringsplattformar, så är lösningen nästan säkert att ge nginx-användaren tillgång till uppladdningsmappen och skriptet.
För ovanstående kodexempel kommer vi att köra följande kommando i SSH:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file
Vi återupptar uppladdningen och allt ska fungera utan fel “move_uploaded_file(): Unable to move“.
Om du fortfarande har problem kan det lösas i kommentarerna till denna handledning.