“PHP Warning: move_uploaded_file“ je typická chyba webového serveru s Nginx a objeví se, když chceme nahrát soubor na server. Většinou, když musíme nahrát certifikáty nebo jiné soubory, které nepatří “Media”, nevidíme chybu v rozhraní adminCMS registrace.
V konkrétnější podobě chyba “PHP Warning: move_uploaded_file” najdeme to v error.log
tak jako:
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'
Proč k chybě dochází “PHP Warning: move_uploaded_file“ a jak to řešíme
Jak jsem řekl výše, k chybě dochází, když se pokoušíme nahrát soubory na webový server.
"FastCGI sent in stderr
“Je typické pro servery, které mají PHP-FPM a Nginx jako software pro web. Problém je tedy někde ve vztahu skriptu, přes který se soubory nahrávají.
"move_uploaded_file(): Unable to move
„Velmi jasně nám říká, že tyto soubory nelze nahrát a přesunout do jiné složky na webovém serveru pomocí skriptu, který operaci provádí.
- Opravte NGINX Error: nelze přidělit novou relaci SSL sdílená mezipaměť relace „le_nginx_SSL" zatímco SSL potřesení rukou
- Opravit [HTTP Error] klient zamýšlel odeslat příliš velké tělo [Nahrání médií WordPress]
Vyřešte tuto chybu PHP řeší se to velmi jednoduše, nastavením správných oprávnění na serveru, jak pro spouštěcí skript, ke kterému neměl přístup nejpravděpodobnější uživatel: nginx, tak pro cílovou složku.
Pokud soubory webových stránek nepatří uživateli, jako je tomu na cPanel, VestaCP nebo jiné platformy pro správu hostingu, pak je téměř jistě řešením poskytnout uživateli nginx přístup ke složce pro nahrávání a skriptu.
Pro výše uvedený příklad kódu provedeme následující příkaz v SSH:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file
Obnovujeme nahrávání a vše by mělo fungovat bez chyb “move_uploaded_file(): Unable to move“.
Pokud máte stále problémy, lze je vyřešit v komentářích k tomuto návodu.