1
다음 문제를 파악할 수 없습니다. SYSTEM을 기반으로하는 DTD에서 외부 엔티티를 해결하고 싶습니다. 최신 Ubuntu 12.10에서 실행됩니다. 사용자 정의 변경이 없습니다!SYSTEM을 사용하는 DTD의 외부 엔터티가 PHP로 해결되지 않았습니다.
나는 다음과 같은 PHP 테스트 코드가 있습니다
<h1>simpleXml Demo</h1>
<form name="input" action="" method="POST">
<textarea name="xmlInput"></textarea><br />
<input type="submit" value="Submit">
</form>
<?php
if(isset($_POST['xmlInput']) and strlen($_POST['xmlInput'])>0){
$doc = simplexml_load_string($_POST['xmlInput']);
echo "<pre>";
print_r($doc);
echo "</pre>";
?>
예 1 : 이 XML 파일을 실행, 엔티티 &foo;가 해결됩니다.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE results [
<!ENTITY test "some text,">
]>
<results>
<result>This result is &test;</result>
</results>
예 2 :이 XML 파일을 실행하면 는, 엔티티 &foo; 그냥 아무것도로 대체 - 전혀 오류!
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE result [
<!ENTITY test SYSTEM "http://textfiles.com/food/btaco.txt">
]>
<results>
<result>This result is &test;</result>
</results>
'libxml_disable_entity_loader()'로 이미 연주했지만 아무 것도 변경하지 않았습니다.
이것이 제 설정과 함께 작동하는지 확인할 수 있습니다. OP와 똑같은 문제가 발생했습니다. 아이디어를 가져 주셔서 감사합니다! –