Я тестирую XML POST между двумя файлами:
index.php, который записывает простой xml на страницу.
send.php, который отправляет curl POST в index.php и ожидает ответа xml
Проблема возникает, когда я открываю 'send.php' - xml из index.php не записывает на страницу. Я подозреваю, что я не правильно пишу xml, но могу действительно использовать некоторые рекомендации по этому поводу. Мой код ниже:
// send.php
$url_request = 'index.php';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url_request);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
$response = curl_exec($curl);
curl_close($curl);
$xml = simplexml_load_string($response);
print_r($xml);
// index.php
header("Content-type: text/xml");
function sendResponse(){
$response = '<?xml version="1.0" encoding="utf-8"?><response>success</response>';
echo $response;
}
sendResponse();
Вам нужно использовать полный путь к файлу index.php:
$url_request = 'http://localhost/path/to/index/index.php';
Кроме того, всегда полезно использовать echo curl_error($curl);
после curl_exec
отслеживать ошибки.