Я пытаюсь вызвать файл simplexml_load_file с параметром $ url, являющимся другим .php-файлом, который затем произведет некоторые вычисления, а после этого он будет «эхо» строки, содержащей xml-код.simplexml_load_file и не удалось загрузить внешнюю сущность
Это выглядит примерно так:
$urlrequest= $_SERVER['DOCUMENT_ROOT']."/generateXML.php?id=5&output=xml";
$xml = simplexml_load_file($urlrequest);
где generateXML.php будет что-то вроде:
<?php
//do some random code
$aux= '<?xml version="1.0" encoding="UTF-8" ?>';
$aux.= "<item>";
$aux.= "<name>John</name>";
$aux.= "<location>somewhere</location>";
$aux.= "</item>";
echo $aux;
?>
Проблема в том, если generateXML.php находится на удаленном IP будет работать отлично, но когда файл находится на том же сервере, я получаю ошибку «не удалось загрузить внешнюю сущность».
Я выяснил, что проблема может возникнуть из параметров в URL-адресе. Например:
$ var1 = file ('dosomething.php'); работает отлично
но $ var1 = файл ('dosomething.php? Id = 1'); возвращает ошибку «не удалось открыть»
Мне нужно уметь добавлять эти параметры к URL-адресу, есть ли способ сделать это?
Посмотрите на это http://stackoverflow.com/questions/3488425/php-ini-file-get-contents-external-url – Pitchinnate
Где находится заголовок для XML? –