Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file
“PHP Warning: move_uploaded_file“ é um erro típico de servidores web com Nginx e aparece quando queremos fazer upload de um arquivo para o servidor. Na maioria das vezes, quando temos que fazer upload de certificados ou outros arquivos que não pertencem “Media”, não vemos o erro na interface de administração do CMS.
De uma forma mais concreta, o erro “PHP Warning: move_uploaded_file” nós encontramos isso em error.log na forma de:
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'
Por que o erro ocorre? “PHP Warning: move_uploaded_file“ e como resolvemos isso
Como falei acima, o erro aparece quando tentamos fazer upload de alguns arquivos para o servidor web.
“FastCGI sent in stderr” é típico para servidores que possuem PHP-FPM e Nginx como software para a web. Portanto, o problema está em algum lugar na relação do script através do qual os arquivos são carregados.
“move_uploaded_file(): Unable to move” isso nos diz muito claramente que esses arquivos não podem ser carregados e movidos para outra pasta no servidor web pelo script que executa a operação.
- Corrigir erro NGINX: não foi possível alocar nova sessão no cache compartilhado da sessão SSL “le_nginx_SSL” durante o handshaking SSL
- Corrigir [Erro http] Cliente destinado a enviar um corpo muito grande [Mídia Upload WordPress]
Resolvendo este erro Php isso é resolvido de forma muito simples, definindo as permissões corretas no servidor, tanto para o script de execução, ao qual o usuário mais provável: nginx não teve acesso, quanto para a pasta de destino.
Se os arquivos do site não pertencem a um usuário, como acontece no cPanel, VestaCP ou outras plataformas de gerenciamento de hospedagem, então quase certamente a solução é dar ao usuário nginx acesso à pasta de upload e ao script.
Para o exemplo de código acima, executaremos o seguinte comando em SSH:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w file.file
Reinicio o upload e tudo deve prosseguir sem erro “move_uploaded_file(): Unable to move“.
Se ainda encontrar problemas, isso pode ser resolvido nos comentários deste tutorial.
Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file
O que há de novo
Sobre Stealth
Apaixonado por tecnologia, escrevo com prazer no StealthSettings.com desde 2006. Tenho uma vasta experiência em sistemas operativos: macOS, Windows e Linux, bem como em linguagens de programação e plataformas de blogging (WordPress) e para lojas online (WooCommerce, Magento, PrestaShop).
Veja todos os posts de StealthVocê também pode estar interessado em...
Um pensamento em “Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file”
Bom dia,
Li e reli seus artigos sobre o assunto [move_upload_file].
Acontece que estou enfrentando esse problema e venho tentando sair dele há muitos meses, sem sucesso.
Tenho um site pessoal no qual tenho uma página Form.html que funciona apenas parcialmente, a saber: impossível abrir o feed etc...e claro movê-lo para 'uploads'.
Aposentei-me das Artes Gráficas, tipógrafo aos 13 anos, depois editor offset, designer gráfico de computação, webmaster, enfim tenho 84 anos aposentado e continuo apaixonado pelo meu trabalho.
Se eu me dou bem com HTML e JavaScript, hoje tenho dificuldade com PHP.
Com os meus colegas veteranos argelinos, faço pequenos passeios e realizo “relatórios” que coloco no meu site pessoal disponível para quem tiver interesse; portanto, gostaria de receber documentos porque não posso fazer tudo sozinho para ilustrar meus pontos, daí a ideia do Formulário PHP e processamento.
Criei meu site com “Dreamweaver CC2020”, versão Mac hospedada em casa em um servidor Synology “Ngnix” DMS v. 7.1 – PHP 8 (possibilidade php 7.2, php 7.3, php 7.4). Certificado padrão (No-Ip): TrustCor DV CA – G2RSA
O Form funciona corretamente para campos “texto”, mas recusa campos de mídia.
Se quiser, você pode se conectar na URL acima, clicar na figurinha e como não ativei o html “return”, você poderá visualizar o resultado na página PHP. (Aloquei 10 Mb e 20 Mb) para mídia.
E se eu estiver certo, o problema viria do “FastCGI” dos servidores Nginx PHP-TPM que é o meu caso, então no painel TPM há muitas caixas para marcar ou desmarcar, mas quais?
Notei o comando SSH:
chown -R nginx:nginx /srv/www/domain.test/public/
chmod g+w arquivo.arquivo
Mas será adequado ao meu servidor?
Agradecemos antecipadamente por seus valiosos conselhos.