PHP:处理从Perl发送的POST请求

时间:2011-05-04 21:00:48

标签: php perl

我是PHP新手,我似乎做错了什么。一方面,我有一个看起来像这样的Perl脚本:

use LWP::UserAgent;

my $browser = LWP::UserAgent->new;
my $url = 'https://url/index.php';

my $response = $browser->post($url, [
        "command" => "test",
            "data" => "123"
         ]);

die "Error getting $url" unless $response->is_success;

print $response->content;

在服务器上,index.php文件如下所示:

<?php

if($_SERVER['REQUEST_METHOD'] == "POST"){ 
    echo "Hello!\n";
}else {
    echo "Error\n";
}
?>

而且......就是这样。但是,如果我尝试执行Perl脚本,会打印整个index.php文件,而不是Hello!或其他错误消息。我想我正在请求一个文件并且这就是它正在打印的内容是有意义的,但是我很困惑我的错误是什么。我一直在寻找一段时间的例子,但到目前为止我没有找到任何可以指向正确方向的例子。

3 个答案:

答案 0 :(得分:5)

我认为这里的问题是服务器不知道它应该将PHP文件视为PHP。

,而不是解析/解释它

确保在服务器上安装了PHP,然后确保Apache配置中包含以下行:

AddType application/x-httpd-php php

答案 1 :(得分:2)

听起来您没有在服务器上设置PHP。

Here's some info关于在Apache上启动并运行它所需的步骤。即使您安装了模块,也可能缺少一些httpd.conf配置步骤。

答案 2 :(得分:1)

您可以在网络浏览器中加载https://url/index.php吗?我的第一个猜测是你的Web服务器没有执行PHP而只是输出index.php文件的内容。