PHP: обработка запроса POST, отправленного из Perl - PullRequest
2 голосов
/ 05 мая 2011

Я новичок в 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 ]

5 голосов
/ 05 мая 2011

Я думаю, что проблема в том, что сервер не знает, что он должен обрабатывать PHP-файл как PHP.Вместо того, чтобы анализировать / интерпретировать его, он просто возвращает его.

Убедитесь, что на сервере установлен PHP, а затем убедитесь, что в вашей конфигурации Apache есть следующая строка:

AddType application/x-httpd-php php
2 голосов
/ 05 мая 2011

Звучит так, будто на вашем сервере не настроен PHP.

Вот некоторая информация о шагах, необходимых для его запуска и работы на Apache. Даже если у вас установлен модуль, вам, вероятно, не хватает некоторых шагов настройки httpd.conf.

1 голос
/ 05 мая 2011

Можете ли вы загрузить https://url/index.php в свой веб-браузер?Мое первое предположение заключается в том, что ваш веб-сервер не выполняет PHP, а просто выводит содержимое файла index.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...