0

考虑以下:

我有一个大型项目,它由一个父站点以及多个“子”站点组成,它们都共享相同的“核心/基础”内容..(图像、“包含”、样式表等)

我的目的是让这些重复文件驻留在 1 个特定服务器上,并在需要时始终引用相同的路径。

这将导致任何修改的“核心”文件(图像、“包含”、样式表等)影响所有交叉引用。

在这方面最好的方法是什么?


目前,(可能暂时)我正在使用以下..<?php readfile('http://remotepath.com/_core/includes/top_nav.php'); ?>

这是一种尝试,最接近的解决方案<?php include('/filepath/'); ?>

这带来了一个明显的问题 - 使用以下内容来定位当前页面,将不再有效。其次,通过“readfile”检索内容是否不安全?

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

这当然会返回该文件的路径,'top_nav.php'

如何使用类似的方法获取 url / web 地址的值?

任何见解将不胜感激!干杯。

4

2 回答 2

1

不要远程包含源文件。如果您想在多个不同的服务器上使用相同的 PHP 库副本,有一些简单的方法可以做到这一点。您可以 cron 一个 rsync 定期将任何更改从主服务器复制到从服务器,或者将您的共享文件放入 git 之类的源代码控制系统中,然后在每个从服务器上运行“git pull”命令。

于 2011-02-08T19:02:34.020 回答
1

不要这样做。

将您的图像、脚本和样式表放在另一台服务器上是很好的。事实上,这实际上是一件好事——这意味着您可以同时下载更多文件,这将加快您网站的加载速度。include但是,对远程文件进行调用将是非常有害的。这是因为这会使您的服务器向远程服务器发出 HTTP 请求。虽然发生这种情况(并且很容易需要一秒钟或更长时间),但您的脚本将什么也不做。它会极大地降低您的网站速度。

通过各种方式在站点之间共享文件。但是,我强烈建议您在呈现页面时不要这样做。您可能希望定期将文件从父服务器下载到子服务器,然后从本地文件系统中正常包含它们。

NB 您可以调用includereadfile通过 HTTP 的事实并不意味着您应该这样做。

于 2011-02-08T18:43:59.597 回答