【问题标题】:PHP: handling a POST request sent from PerlPHP:处理从 Perl 发送的 POST 请求
【发布时间】:2011-05-05 05:04:29
【问题描述】:

我是 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!或其他错误消息。我想我正在请求一个文件并且这就是它正在打印的内容是有道理的,但是我对我做错了什么感到很困惑。一段时间以来,我一直在四处寻找示例,但到目前为止,我没有发现任何可以为我指明正确方向的东西。

【问题讨论】:

    标签: php perl


    【解决方案1】:

    我认为这里的问题是服务器不知道它应该将 PHP 文件视为 PHP。它只是返回它而不是解析/解释它。

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

    AddType application/x-httpd-php php
    

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多