我正在为一家经营HostGator 专用服务器上面有数百个网站。由于它们之间会有一些共同的文件,因此我考虑执行以下操作:
在 /home/ 中创建一个 COMMON 文件夹,其中包含通用文件
/home
...site1
...site2
...site3
...site4
...COMMON
........universal.css
........universal.js
........universal.php
...site999
...site1000向每个使用 PHP 的站点添加
include();
指向 COMMON 目录中相应文件的脚本。
<?php
include("../../../COMMON/universal.php");
?>
这样,我就能同时修改所有站点的代码。
现在的核心问题是,这样的事情会对服务器产生什么影响?这些网站永远不会有大量流量,但实际上却有数百个这样的网站。这是一个非常基本的问题,但是对同一个文件的数千个请求与分布在数百个文件中的数千个请求是否相同?
答案1
实际上,您期望对任何给定文件进行哪种类型的同时访问?根据您的描述,如果任何给定文件在任意给定时间内被多个实例访问,我会感到非常惊讶。由于大多数系统都有各种级别的缓存,该负载可能会更少。简而言之,即使所有站点都很繁忙,我真的不认为您会遇到问题。
答案2
应该没问题,尤其是因为这主要是只读的。对吧?:)
答案3
包括(“../../../COMMON/universal.php”);
不!!!!
切勿对包含文件使用相对路径!
将 COMMON 添加到 PHP 包含路径(您可以在 php.ini、.htaccess 或每个 PHP 脚本的顶部执行此操作,例如
<?php
ini_set('include_path',ini_get('include_path').':/home/COMMON:');