Nginx - como fazer e configurações

por

1

Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

1
Nginx - como fazer e configurações

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.

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

Você também pode estar interessado em...

Um pensamento em “Como consertar: FastCGI sent in stderr – PHP message: PHP Warning: move_uploaded_file

  1. Caron diz:

    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.

Deixe uma resposta

Seu endereço de e-mail não será publicado. Os campos necessários estão marcados *