【问题标题】:how to test php file from command line using spawn-fcgi如何使用 spawn-fcgi 从命令行测试 php 文件
【发布时间】:2013-01-09 10:23:03
【问题描述】:

我有一个 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

谢谢

【问题讨论】:

    标签: php nginx spawn-fcgi


    【解决方案1】:
    • 要测试 FastCGI 后端,您可以尝试创建 CGI 环境并使用 cgi-fcgi 连接到后端
    • 您可以附加 strace 以查看后端的功能(例如,它是否接收到来自 Web 服务器的请求);使用 -ff 附加到主进程以查看所有工作人员的系统调用
    • php5-cgi 在 FastCGI 模式下不需要 shebang 行或文件上的 +x - 它不使用内核来执行它们,它只是将它们作为简单文件加载
    • Firefox(可能还有其他浏览器)通常会缓存 mime 类型,因此即使您解决了问题,您也会看到下载提示。 使用 curl 进行测试!

    【讨论】:

      【解决方案2】:

      nginx 不会提供它传递给 php 的文件,nginx 只提供静态文件,所以如果它正在下载 php 文件,您可能需要检查您是否将 php 文件发送到正确的位置,您是否使用配置文件中 php 位置块中的 IP 和 PORT ?

      在回家的火车上,我只是在脑海中猜测。

      【讨论】:

        【解决方案3】:

        FWIW,像 nginx 提供要下载的文件这样的问题是由于 Nginx 自己提供文件而没有将它们发送到 fastcgi 后端,通常是因为 try_files 或错误的 location {} 块匹配到 uri。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-07-07
          • 2015-08-27
          • 2015-05-09
          • 2017-06-08
          • 1970-01-01
          • 1970-01-01
          • 2014-04-23
          • 1970-01-01
          相关资源
          最近更新 更多