我是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!或其他错误消息。我想我正在请求一个文件并且这就是它正在打印的内容是有意义的,但是我很困惑我的错误是什么。我一直在寻找一段时间的例子,但到目前为止我没有找到任何可以指向正确方向的例子。
答案 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文件的内容。