0

我有一个需要执行的客户端脚本。它是一个发布帖子的 php 脚本。我的 web 框架是使用 uWSGI 作为中间件的 python flask 和 nginx。php 文件是将 dhtmxlGrid 导出到 excel 的脚本。当尝试导出时...以下错误是我得到的。我对PhP一无所知。

这是我要执行的命令。我在服务器上安装了 php,所以我相信。刚刚做了一个apt-get install php5。

<input type="image" src="static/pix/excel.png" WIDTH=25 HEIGHT=25 value="Get as Excel" onclick="mygrid.toExcel('static/js/dhtmlxGrid/codebase/grid-excel-php/generate.php');">

这是我单击导出到 excel 按钮时遇到的 FireFox 错误。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method POST is not allowed for the requested URL.</p>

更新:

我将以下内容添加到 nginx.conf 文件中。

location /static/js/dhtmlxGrid/codebase/grid-excel-php/generate.php {
            access_log   off;
            allow 127.0.0.1;
        }

同样的错误。405。

如果我在 broser 中调用http://dashboard.com/static/js/dhtmlxGrid/codebase/grid-excel-php/generate.php ,我会得到一个下载 generate.php 对话框,我可以在其中看到代码。所以......猜测php没有被执行。

4

2 回答 2

0

Flask 或 Python 不知道如何解释 PHP,您还允许在任何路由上使用 POST 方法,最好的办法是在 nginx 中捕获请求并从 php 解释器中提供服务。

于 2012-12-27T14:46:17.820 回答
0

您需要location在您的 nginx 配置中添加一个指令,该指令指向static/generate.php并使用 PHP 解释器呈现它。然后在您的烧瓶应用程序中,您发布到您的 nginx 配置中定义的 URL。

于 2012-12-27T15:22:24.100 回答