0

私はphpスクリプトを持っています。nginx と spawn-fcgi を使用しています。

spawn-fcgi -n -s /tmp/nginx9010.socket -u www-data -g www-data -f /usr/bin/php5-cgi -C 6

spawn-fcgiスクリプトで動作して いるコマンド ラインからテストするにはどうすればよいですか?

たとえば、/home/ubuntu/test.php にスクリプトがあります。

nginx と php スクリプトの実行に問題があります。ダウンロードを求めるプロンプトが表示されます。

私は#!/usr/bin/phpファイルに持っていて、chmod a+x同様にしました。

ありがとう

4

3 に答える 3

1
  • For testing a FastCGI backend you could try to create a CGI environment and use cgi-fcgi to connect to the backend
  • You could attach with strace to see what the backend does (for example whether it even receives a request from the web server); attach with -ff to the master process to see syscalls on all workers
  • php5-cgi in FastCGI mode doesn't need a shebang line nor +x on the files - it doesn't use the kernel to execute them, it just loads them as simple files
  • Firefox (and probably other browsers too) often cache the mime type, so you will see a download prompt even after you fixed the problem. Use curl for testing!
于 2013-01-22T12:44:49.867 に答える
0

FWIW、nginxがダウンロードするファイルを提供するような問題は、Nginxがファイル自体をfastcgiバックエンドに送信せずに提供しているためです。多くの場合、URIとのブロックの一致try_filesまたは間違ったブロックが原因です。location {}

于 2013-02-25T12:10:57.120 に答える
0

nginxはphpに渡すファイルを提供しません。nginxは静的ファイルのみを提供します。したがって、phpファイルをダウンロードしている場合は、phpファイルを正しい場所に送信していることを確認する必要があるかもしれません.IPとポートを使用していますか?設定ファイルのphpロケーションブロックで?

帰りの電車に乗っているときの頭のてっぺんの推測だけです。

于 2013-01-09T16:36:34.913 に答える