Nginx está baixando o arquivo em vez de fazer a consulta MySql

0

Eu encontro um problema muito estranho quando tento configurar o NGINX para usar PHP e MySQL.

No começo, tudo parece estar bem e funcionando. Mas essa impressão só dura até que haja uma consulta SQL (pelo menos essa é a minha impressão). E, em vez de passar o resultado da consulta para o PHP, sou solicitado a baixar um arquivo com o tipo application / octet-stream.

Quando estou usando o SQLite ou nenhum banco de dados, tudo está bem. Alguém tem uma ideia do porquê isso está acontecendo?

Quando eu olho minhas informações do php, ele recebe este resultado:

Additional .ini files parsed:

/etc/php/7.0/fpm/conf.d/10-mysqlnd.ini, /etc/php/7.0/fpm/conf.d/10-opcache.ini, /etc/php/7.0/fpm/conf.d/10-pdo.ini, /etc/php/7.0/fpm/conf.d/15-xml.ini, /etc/php/7.0/fpm/conf.d/20-calendar.ini, /etc/php/7.0/fpm/conf.d/20-ctype.ini, /etc/php/7.0/fpm/conf.d/20-curl.ini, /etc/php/7.0/fpm/conf.d/20-dom.ini, /etc/php/7.0/fpm/conf.d/20-exif.ini, /etc/php/7.0/fpm/conf.d/20-fileinfo.ini, /etc/php/7.0/fpm/conf.d/20-ftp.ini, /etc/php/7.0/fpm/conf.d/20-gd.ini, /etc/php/7.0/fpm/conf.d/20-gettext.ini, /etc/php/7.0/fpm/conf.d/20-iconv.ini, /etc/php/7.0/fpm/conf.d/20-imagick.ini, /etc/php/7.0/fpm/conf.d/20-imap.ini, /etc/php/7.0/fpm/conf.d/20-intl.ini, /etc/php/7.0/fpm/conf.d/20-json.ini, /etc/php/7.0/fpm/conf.d/20-mbstring.ini, /etc/php/7.0/fpm/conf.d/20-mcrypt.ini, /etc/php/7.0/fpm/conf.d/20-memcache.ini, /etc/php/7.0/fpm/conf.d/20-mysqli.ini, /etc/php/7.0/fpm/conf.d/20-pdo_mysql.ini, /etc/php/7.0/fpm/conf.d/20-pdo_sqlite.ini, /etc/php/7.0/fpm/conf.d/20-phar.ini, /etc/php/7.0/fpm/conf.d/20-posix.ini, /etc/php/7.0/fpm/conf.d/20-pspell.ini, /etc/php/7.0/fpm/conf.d/20-readline.ini, /etc/php/7.0/fpm/conf.d/20-recode.ini, /etc/php/7.0/fpm/conf.d/20-shmop.ini, /etc/php/7.0/fpm/conf.d/20-simplexml.ini, /etc/php/7.0/fpm/conf.d/20-sockets.ini, /etc/php/7.0/fpm/conf.d/20-sqlite3.ini, /etc/php/7.0/fpm/conf.d/20-sysvmsg.ini, /etc/php/7.0/fpm/conf.d/20-sysvsem.ini, /etc/php/7.0/fpm/conf.d/20-sysvshm.ini, /etc/php/7.0/fpm/conf.d/20-tidy.ini, /etc/php/7.0/fpm/conf.d/20-tokenizer.ini, /etc/php/7.0/fpm/conf.d/20-wddx.ini, /etc/php/7.0/fpm/conf.d/20-xmlreader.ini, /etc/php/7.0/fpm/conf.d/20-xmlrpc.ini, /etc/php/7.0/fpm/conf.d/20-xmlwriter.ini, /etc/php/7.0/fpm/conf.d/20-xsl.ini

E esta é a minha configuração do mysql (também da info do PHP):

Comovocêpodever,omysqlndstaticmostra0?!

Estoutentandofazerissocomowordpressetambémcom" Ionize ". Ionize também está me mostrando algum erro no MySQL:

Alguém sabe como resolver (ou pelo menos depurar, já que não há erros dentro dos arquivos de log)?

Obrigado por qualquer sugestão!

    
por Marco Hegenberg 02.09.2016 / 13:49

1 resposta

0

O nginx não baixa arquivos, apenas envia respostas HTTP.
Nginx é geralmente responsável por definir o campo Content-Type: no cabeçalho HTTP e como padrão, O nginx usa um MIME do application / octet-stream como um substituto quando não consegue determinar o tipo de conteúdo.
Quando um navegador recebe um cabeçalho com esse tipo de conteúdo, ele solicita a ação de download, pois application / octet-stream é o tipo MIME para arquivos binários. Isso para mim é uma indicação de que o nginx não está configurado corretamente porque, quando elefastcgi_pass es corretamente, retorna o cabeçalho html/plain .
Você também pode definir o tipo de mímica diretamente

link

ou esse snippet definirá o MIME padrão para nginx como text/plain

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
# change application/octet-stream to text/plain
sudo sed -i 's/default_type application\/octet-stream/default_type text\/plain/' 
    /etc/nginx/nginx.conf

Além disso, se você configurar o nginx e o PHP corretamente e enviar os cabeçalhos Content-Type: corretos, navegadores como o Chrome continuarão armazenando em cache os valores anteriores, para continuar a solicitar o download.
Isso pode ser superado, abrindo as ferramentas do desenvolvedor, indo nas configurações das próprias ferramentas do desenvolvedor e, em seguida, clicando em desativar o cache (enquanto as ferramentas dev estiverem abertas)

    
por the_velour_fog 02.09.2016 / 15:35