我正在尝试使用 $url 参数调用 simplexml_load_file 作为另一个 .php 文件,然后该文件将进行一些计算,然后,它将“回显”包含 xml 代码的字符串。
它看起来像这样:
$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=file('dosomething.php?id=1'); 返回“无法打开流”错误
我需要能够将这些参数添加到 url,有什么办法吗?