0

次の点を考慮してください。

親サイトと複数の「子」サイトで構成される大規模なプロジェクトがあり、それらはすべて同一の「コア/ベース」コンテンツを共有しています.. (画像、「インクルード」、スタイルシートなど)

私の意図は、これらの定期的なファイルを特定のサーバーに常駐させ、必要なときに常に同じパスを参照することです。

これにより、変更された「コア」ファイル (画像、「インクルード」、スタイルシートなど) がすべての相互参照に影響します。

これについてどうするのが最善の方法ですか?


現在、(おそらく一時的に)私は次のものを使用しています..<?php readfile('http://remotepath.com/_core/includes/top_nav.php'); ?>

これは、最も近い解決策での試みです<?php include('/filepath/'); ?>

これにより、明らかな問題が発生します。現在のページをターゲットにするために次を使用すると、機能しなくなります。

<?php $url = basename($_SERVER['SCRIPT_FILENAME']); echo $url; ?>

もちろん、これはそのファイルのパスを返します。'top_nav.php'

同様の方法を使用して、URL / Web アドレスの値を取得するにはどうすればよいですか?

どんな洞察も大歓迎です!乾杯。

4

2 に答える 2

1

これをしないでください。

画像、スクリプト、スタイルシートを別のサーバーに置いても問題ありません。実際、これは良いことです。より多くの同時ファイル ダウンロードが可能になり、サイトの読み込みが高速化されます。includeただし、リモート ファイルに対して呼び出しを行うと、非常にダメージが大きくなります。これは、サーバーがリモート サーバーに対して HTTP 要求を行うためです。これが行われている間 (簡単に 1 秒以上かかる場合があります)、スクリプトは何も実行しません。サイトの速度が大幅に低下します。

必ずサイト間でファイルを共有してください。ただし、ページがレンダリングされるため、そうしないことを強くお勧めします。親サーバーから定期的にファイルを子サーバーにダウンロードし、通常はローカル ファイル システムからファイルを含めることができます。

注: HTTP を介して呼び出すことができるからといって、そうすべきであるとは限りません。includereadfile

于 2011-02-08T18:43:59.597 に答える
1

ソース ファイルをリモート インクルードしないでください。多数の異なるサーバーに PHP ライブラリの同じコピーが必要な場合は、いくつかの簡単な方法があります。変更をマスターからスレーブに定期的にコピーする rsync を cron で作成するか、共有ファイルを git などのソース コード管理システムに配置してから、各スレーブで「git pull」コマンドを cron で作成することができます。

于 2011-02-08T19:02:34.020 に答える