2009-06-24 10 views
2

私たちはDrupalサイトのバックエンドとしてNginx + FastCgiを実行しています。 この1つのURLを除いてすべてがうまく動作しているようです。 ます。http:///sites/all/modules/tinymce/tinymce/jscripts/tiny_mce/plugins/smimage/index.phpNginx - PHPをバイナリとして扱います。

(私たちは、Drupalの中のTinyMCEモジュールを使用し、 ユーザーがしようとしたときに上記のURLが呼び出されます画像をアップロードする)

私たちがApacheを使用していたとき、すべてうまくいきました。 しかし、nginxは上記のURLバイナリを扱い、それをダウンロードしようとします。 (URLによって指摘されたファイルが有効なPHPファイルであることが確認されています)

何が問題なのでしょうか?

NGINXの設定とは関係がありますが、それが何であるかは完全にはわかりません。

ご協力いただきまして誠にありがとうございます。

設定:

 root /var/www/; 
     index index.php; 

     if (!-e $request_filename) { 
       rewrite ^/(.*)$ /index.php?q=$1 last; 
     } 

     error_page 404 index.php; 
     location ~* 
\.(engine|inc|info|install|module|profile|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(code-style\.pl|Entries.*|Repository|Root|Tag|Template)$ 
{ 
       deny all; 
     } 

     location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ { 
      access_log  off; 
      expires   7d; 
     } 

     location ~* ^.+\.(css|js)$ { 
      access_log  off; 
      expires   7d; 
     } 

     location ~ .php$ { 
      include /etc/nginx/fcgi.conf; 
      fastcgi_pass 127.0.0.1:8888; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      fastcgi_param QUERY_STRING  $query_string; 
      fastcgi_param REQUEST_METHOD $request_method; 
      fastcgi_param CONTENT_TYPE  $content_type; 
      fastcgi_param CONTENT_LENGTH $content_length; 
     } 

     location ~ /\.ht { 
       deny all; 
     } 
+0

万が一eAcceleratorのをオンにしましたか?はいの場合は無効にし、それが動作するかどうかを確認します。 –

答えて

2

それはそれをしなかった場合も、あなたはポート8888で実行されているのFastCGIを持っていることをあなたはしているを確認することができますことを確認し、それ

location ~ \.php$ { 

代わりの

location ~ .php$ { 
+0

それは、 "foophp"のようなファイルにもマッチすることを意味します。 「任意の文字」を意味するので、「実際の」文字を得るためにエスケープします。ここで完璧です。 – cmende

0

多分PHPファイルを実行しているが、バイナリファイルを生成している: はここでnginxの設定ファイルからの抜粋です。このスクリプトはイメージを生成していますか?いくつかの設定を見ることなく伝えるのは難しいです。

+0

レスポンスありがとう、マーティン。 PHPが画像を生成していないことを確認しました。 投稿の詳細を設定で更新しました。 –

1

ください:

netstat -la | grep :8888 

01のような返信が届いたら大丈夫です。
tcp  0  0 localhost:9000   *:*      LISTEN 

または、次のことを試してみて、それがリッスンしているポートを探します。

netstat -la | grep LISTEN 
関連する問題