2009-06-02 7 views
2

동일한 사이트의 RSS 피드를 처리해야하는 PHP 스크립트가 있습니다. 특히, 홈 페이지의 WordPress RSS 피드에서 가장 최근의 블로그를 표시하고 있습니다. 스테이징 서버에서는 제대로 작동했지만 라이브 환경 (전혀 다른 LAMP 환경)에서는 작동하지 않습니다.동일한 서버의 URL에 file_get_contents 또는 curl 사용

원격 URL에는 file_get_contents 또는 curl을 실행할 수 있지만 자체 RSS 피드를 검색하려고하면 404 찾을 수 없음 페이지가 반환됩니다. 또 하나의 기이 한 일로, 내가 시도하면 file_get_contents(http://domain.com/test.txt) 그것은 404로 실패하지만, 내가 할 경우 file_get_contents(http://www.domain.com/test.txt) 나는 테스트 텍스트 파일의 내용을 얻는다. 이 모두가 내가 domain.com (하지 www.domain.com)

내가 여기 예를 들어 설치를했습니다에서 스크립트를 실행 해요 가정입니다 :

+0

www.bkwld.com 또는 bkwld.com이/etc/hosts에 설정되어있을 수 있습니까? –

답변

2

그래, 아직도이 일을 왜하는지 모르겠지만 피드 버너를 통해 내 피드를 실행 한 다음 RSS 피드를 구문 분석하여 해결할 것입니다. 원격 도메인에 있기 때문에 내 테스트에서 작동합니다. 이상적이지는 않지만 w/e.

1

http://bkwld.com/test.php 나는 매우 비슷한 문제가 있었다 - 만약 당신이 사용하는 시도 할 수 있습니다 자신의 도메인 이름 대신에 127.0.0.1 (아파치 설정이 당신을 방해하지 않는다고 가정). 도메인 해석과 관련이 있습니다. 나는 API의 버크를 믿습니다.

+3

사이트가 VirtualHost에 있으면이 작업은 완전히 실패합니다. – grawity

+0

그래, 불행히도. – weotch

+1

가상 호스트가 www.domain.com과 domain.com의 별칭을 설정한다는 것을 알고 있습니까? – Kazar

0

실제로, 홀수. 파일을 어떻게 파싱 할 것인가? SimpleXML에 직접로드 할 수도 있습니다.

$xml = simplexml_load_file("http://domain.com/blog/feed/index.php"); 
/* Use Simple XML to parse the RSS feed */ 

이 방법이 문제를 해결하지 못한다는 것을 알고 있지만 다른 접근법 만 사용하면됩니다. 그러나 아마도 충분할 것입니다.

+0

그래, 내가 사용하던 전에 Zend Framework Zend_Feed_Rss()가 실패했습니다. file_get_contents와 CURL을 사용하여 소스로 내려가려고 할 때 – weotch

1

방금 ​​비슷한 문제가있었습니다. DNS가 문제이며 도메인 이름이 확인되지 않습니다. 스크립트에서 도메인 대신 IP를 사용해야합니다.

cmd로 도메인을 핑 (ping)하고 해당 IP를 사용할 수 있습니다.

0

domain.com/test.txt가 404를 반환하고 www.domain.com/test.txt가 성공하면 호스트 DNS에서 호스팅 도메인이 다르게 구성되었을 수 있습니다. 어쨌든, 나는 이미 'www'가있는 RSS 피드를 검색하려했지만 상대 경로로 시도 했습니까? 예 : file_get_contents('../../feed/')