2011-06-22 5 views
3

です。これは2つの質問です...クロスサーバPHPを扱う最良の方法は、

1)file_get_contentsはサーバの負荷を作成しますか?私は自分のブログのネットワークを通じて広告を引き出すために、私のブログのサイドバーでそれを3回以上使用していますが、今やネットワークは減速しています。私はそれが原因ではないことを確認したい。

2)クロスサーバの処理にはどのような方法が最適ですか?上で述べたように、私はfile_get_contentsを使用しています。おそらくそれを非常に悪い方法でやっています。私のコードのいくつかを見てみると、私が表示されます:

<? 
$c = file_get_contents("http://www.url.com/includes/include1.php"); 
echo ($c); 
?> 
<? 
$c = file_get_contents("http://www.url.com/includes/include2.php"); 
echo ($c); 
?> 

私はそれを開いて、あなたがする必要がない場合、PHPを閉じて、それに加えて、同じ変数の下に二つの異なるURLのを入れているだので、それはずさんだ今理解しています。それは私がこの時点でどのように動作するのか疑問に思います。

とにかく、私のクロスサーバに最適な解決策を探しています。重い負荷の下で私のサーバ上のドラッグをうまく下げる問題があります。

ありがとうございました!

+2

オフサイトの内容は除外する必要があります。サーバがネットワークを介して手を差し伸べる必要があるだけでなく、アプリケーションへの巨大な攻撃経路も開いているため、速度が低下するだけでなく、あなたはまさにそれらを使っていますか?おそらくもっと良い方法があります。 – deceze

+0

コンテンツを埋め込むだけの場合は、iframeまたはjQuery .load()を使用してテキストを挿入します。 – mario

+0

ここにOP - Decezeに、私はちょうど私のネットワークを通して繰り返しているものを含んでいます。私のネットワークを一緒にリンクするトップメニュー、RSSボックス、広告広場があれば、IEです。このようにして少し変更を加えなければならない場合は、50 +以上のファイルを変更するだけで済みます。より良い方法があれば、私はそれを全部飛び越えるでしょう –

答えて

3

サーバー間のインクルードは許可しないでください。あなた以外の誰かがあなたのPHPファイルの内容を読むのを止めるのは何ですか?

あなたの元の質問について:あなたが応答性を懸念している場合は、Ajax経由で広告を読み込みます(私はjQueryを推奨します)。そうすれば、実際のコンテンツはすぐに到着する広告ですぐに読み込まれます。

もう1つの方法として、広告を何とかキャッシュする方法があります。

+0

今、私のPHPファイルは非常に無害です。理論的にはテキストファイルでなければなりませんが、あなたは正しいです。一度に複数のページを更新する良い方法を知っていますか?例えば、広告などですか?ありがとう! –

+0

広告はページと同じサーバーにありますか?または、Google AdWordsを使用していた場合のような外部ドメインですか? –

1

もっと良い方法は、別のスクリプトがその情報を取得し、それをサーバー上のファイルにキャッシュすることです。キャッシュされたファイルを提供します。 cronジョブは毎回キャッシュをリフレッシュでき、サイトのパフォーマンスは広告サーバーの可用性に完全に依存しません。今のように、広告サーバーが停止している場合、スクリプトは要求がタイムアウトするまでハングアップし、ユーザーは空白の画面で永遠に立っています。

+0

まあ、それはすべて同じサーバーの一部ですが、あなたが正しい時には、私は複数のサーバーを持っていることを計画し、最終的にその問題につながる展開します。あなたはそれをどうやるのか指摘できますか? –

関連する問題