2009-06-02 26 views
2

同じサイトのRSSフィードを処理する必要のあるPHPスクリプトがあります。具体的には、WordPress RSSフィードの最新のブログをホームページに表示しています。私たちのステージングサーバー上では正常に動作しましたが、私たちのライブ(まったく異なるがLAMP)ホスティング環境では動作しません。同じサーバーでfile_get_contentsまたはcurlを使用してURLを

file_get_contentsまたはcurlをリモートURL上で実行することはできますが、独自のRSSフィードを取得しようとすると、404が見つかりませんでした。私がfile_get_contents(http://domain.com/test.txt)を試してみたら、もう1つの奇妙なことに、404で失敗しますが、私がfile_get_contents(http://www.domain.com/test.txt)を実行すると、テストテキストファイルの内容が取得されます。これは私がここにセットアップの例をしました(ないwww.domain.com)私はdomain.comからスクリプトを実行していると仮定し

すべてです:http://bkwld.com/test.php

+0

www.bkwld.comまたはbkwld.comのいずれかが/ etc/hostsに設定されている可能性はありますか? –

答えて

2

私はまだこれをやっている理由は分かりませんが、Feedburnerでフィードを実行してRSSフィードを解析することで解決します。それはリモートドメイン上にあるので、私のテストで動作します。理想的ではないが、w/e。

1

を私は非常に同様の問題があった - あなたが使用してみてください自分のドメイン名の代わりに127.0.0.1(あなたのApache設定がそれを妨げないと仮定します)。ドメインの解決策とは何か、私は信じて、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/')

関連する問題