
외부 XML(존재하며 직접 링크를 배치할 때 브라우저에서 볼 수 있음)을 열려고 할 때 시간 초과가 발생합니다.
XMLReader가 설치되어 켜져 있고 로컬 XML을 호출하면 작동한다고 확신합니다(테스트를 거쳐 예상대로 작동함).
그러나 외부 소스(다른 도메인)에서 동일한 XML을 얻으려고 하면 다음과 같은 결과를 얻습니다(도메인과 IP가 여기에서 마스킹됨).
[Mon May 12 20:03:44 2014] [error] [client xxxxxx] PHP Warning: XMLReader::open(http://myotherdomain/data.xml): failed to open stream: Connection timed out in /var/www/html/mysite/xmlreader.php on line 29
[Mon May 12 20:03:44 2014] [error] [client xxxxxx] PHP Warning: XMLReader::open(): Unable to open source data in /var/www/html/mysite/xmlreader.php on line 29
29행은 다음을 참조합니다 open()
.
if (!$reader->open("http://myotherdomain/data.xml"))
내 서버는 CentOS 6.5, Apache 2.2.15, PHP 5.4.25입니다.
여기서 무엇이 문제입니까? 왜 시간 초과가 발생합니까?(이것은 내가 시도한 모든 외부 XML에서 발생합니다)
답변1
문제를 발견했는데 방화벽 포트 80과 관련이 있었습니다…
서버에서 외부로의 연결을 허용하지 않았기 때문에 결국 XMLReader와는 관련이 없으며 또 다른 방화벽 관련 문제입니다.