nginx não executará a página PHP que retorna JavaScript

1

Aqui está o meu conf nginx (1.1.19) para o site do Silverstripe. Eu estou usando o PHP-FPM também. nginx e PHP-FPM na maior parte são configurações de baunilha no momento. Estou usando um pool FPM separado com seu próprio soquete unix.

server {
  server_name dev.example.com;
  root /srv/www/example.com/dev;

  index index.php index.html;

  access_log logs/dev.example.com.access.log;
  error_log logs/dev.example.com.error.log;

  location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|eot|mp4|ogg|ogv|webm)$ {
    expires 7d;
    access_log off;
    access_log off;
    log_not_found off;
  }

  error_page  404  /framework/main.php;

  location / {
    try_files $uri @silverstripe;
  }

  location @silverstripe {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/framework/main.php;
    fastcgi_param SCRIPT_NAME /framework/main.php;
    fastcgi_param QUERY_STRING url=$uri&$args;
    fastcgi_buffer_size 32k;
    fastcgi_buffers 4 32k;
    fastcgi_busy_buffers_size 64k;
    fastcgi_pass unix:/var/run/php.fpm.example.sock;
  }                                                                                                                                                                                                                       
}

No CMS ele tenta carregar o script Tiny MCE ( tiny_mce_gzip.php ), é um script PHP que deve retornar JavaScript. Ele não parece e parece que está apenas retornando o script PHP como texto simples. A resposta da solicitação é apenas o texto do PHP que faz com que o navegador falhe porque está tentando interpretá-lo como JavaScript (acho) e apresenta este erro:

Uncaught SyntaxError: Unexpected token < 

O < parece ser o começo da tag <?php de abertura.

Eu devo ter algo mal configurado para isso. Alguma sugestão? Eu posso fornecer mais informações, se necessário.

    
por Brandon 04.12.2012 / 20:57

2 respostas

0

Veja o link

 # whitelist php files que são chamados diretamente e precisam ser interpretados     location = /framework/thirdparty/tinymce/tiny_mce_gzip.php {         incluem fastcgi_params;         fastcgi_pass unix: /var/run/php5-fpm.sock;     }

location = /framework/thirdparty/tinymce-spellchecker/rpc.php {
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
}
    
por 02.09.2014 / 12:12
0

O Wmk no #silverstripe no IRC veio com a solução para desabilitar o GZIP:

Coloque isso em mysite/_config/config.yml

HtmlEditorField: use_gzip: false

E libere o cache do Silverstripe com ?flush=all . E você tem seu editor de volta: -)

    
por 04.11.2015 / 21:46

Tags