phpのタイムアウト処理について質問させてください。 ワードプレスで作成した「サイトA」のRSSフィードを使用して

PHP | ホームページ作成79閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

ご回答ありがとうございました! Feed.phpの冒頭にこちらを追加したら何となくそれらしい挙動になりました。 ini_set('default_socket_timeout', 秒数); ご教授いただいたやり方も試してみたいと思います。

お礼日時:5/10 8:43

その他の回答(1件)

1

一般的なやり方としては「サイトB」側はJavaScriptでrssを取得するようにして、「サイトA」側はCORSを回避するために「サイトB」を許可するヘッダ(Access-Control-Allow-Origin)を付けるような対応でしょうか。 ただ「サイトA」の方の改修が面倒だったり、別管理だったりする場合は、サンプルに挙げられているような「サイトA」側で取り込んで提供する形になりますが、サンプルのやり方は誤っていて、仰る通り他まで影響を受けてしまうようなものになります。 なので、iframeのような発想でJavaScriptで埋め込むような形が良いのではないでしょうか。 例えば 「サイトB」側にwordpress-rss.phpなどを用意して <?php $url = "サイトAのRSSのURL"; $xml = file_get_contents($url); header("Content-type: application/xml; charset=UTF-8"); echo $xml; といった感じで転送だけしてJavaScript側は https://techacademy.jp/magazine/41695 のような感じでRSSをロードして埋め込む形にしてエラーが発生した場合には「表示できません」を表示してやれば良いかと思います。

1人がナイス!しています