2013-01-09 42 views
0

我有一个php脚本。我正在使用nginx和spawn-fcgi。如何使用spawn -fcgi从命令行测试php文件

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

感谢

回答

0

的nginx不会成为其传递到PHP文件,只nginx的静态文件,所以如果是下载的PHP文件,你可能需要检查您要发送PHP文件到正确的地方,你在配置文件中的php位置块使用IP和端口?

只有在火车回家时我头顶的猜测。

0
  • 用于测试的FastCGI的后端,你可以尝试创建一个CGI环境和使用CGI-FCGI连接到后端
  • 你可以用strace的重视,看看后台做什么(例如,它是否甚至接收来自网络服务器的请求);使用-ff附加到主进程以查看所有worker上的系统调用
  • FastCGI模式下的php5-cgi不需要shebang行,也不需要文件上的+ x - 它不使用内核来执行它们,它只是将它们加载为简单文件
  • Firefox(也可能是其他浏览器)经常缓存MIME类型,因此即使在解决问题后,也会看到下载提示。 使用卷曲进行测试!
0

FWIW,像nginx的问题提供了可下载的文件是由于Nginx的服务文件本身,而不将它们发送到后端FastCGI的,常常因为try_files或错误location {}块匹配的URI。

相关问题