2

このコードを使用して、RSS フィードを取得します。

$feed = 'http://www.example.com/rss';
$feed_to_array = (array) simplexml_load_file($feed);

新しいブログ投稿を取得していないため、これは明らかに RSS フィードをキャッシュします。URL に存在しない変数を追加すると機能します (「?random=1234」など)。したがって、キャッシングの問題があります。

スタック オーバーフローと PHP ドキュメントを検索しましたが、解決策が見つかりません。clearstatcache() のようなものは機能しません。

キャッシングを防ぐにはどうすればよいですか?

4

1 に答える 1

2

私の知る限り、PHP は HTTP ダウンロード用のキャッシュを一切提供していません。

私の経験に基づいた推測では、ISP またはリモート サイトのいずれかが、ある種の積極的なサーバー側キャッシュ テクノロジ (プロキシまたは Varnish のような HTTP アクセラレータ) を実装しているということです。これをテストするのは難しくありません。通常のブラウザ (Firefox、Chrome など) で同じ URL を 2 回読み込みます。必要に応じてブラウザのキャッシュをクリアします。

シナリオはより複雑になる可能性があります (ブラウザーがプロキシを使用している場合や、リモート キャッシュが特定の HTTP ヘッダーを検証している場合があります) が、それは最初のチェックである必要があります。

于 2013-08-14T12:10:22.163 に答える