![외부 XML을 열 때 시간 초과를 제공하는 XMLReader](https://rvso.com/image/632733/%EC%99%B8%EB%B6%80%20XML%EC%9D%84%20%EC%97%B4%20%EB%95%8C%20%EC%8B%9C%EA%B0%84%20%EC%B4%88%EA%B3%BC%EB%A5%BC%20%EC%A0%9C%EA%B3%B5%ED%95%98%EB%8A%94%20XMLReader.png)
외부 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와는 관련이 없으며 또 다른 방화벽 관련 문제입니다.