PHP 核心代码目录结构


PHP core code directory structure

我希望集中我的许多Web应用程序代码,以便多个组件可以访问相同的核心功能。这就是我设置网站的方式:

/

var/www/website - domain.com
/var/www/subdomain1 - subdomain1.domain.com
/var/www/subdomain2 - subdomain2.domain.com

当然,在通用功能的重复方面,我遇到了很多麻烦,因为对一个区域所做的任何更改也需要应用于其他区域。我建议的解决方案是在/var/www 中创建一个新目录,其中包含所有核心脚本:

/

var/www/code - 核心代码

然后,我将 PHP 包含目录设置为/var/www/code,以便脚本可以包含这些文件而无需指定绝对路径。

你能想到更有效的方法来集中代码吗?

非常感谢!

你的方法足以达到这个目的。

小建议:将前端脚本存储在/var/www/website/www 等目录中,而不是/var/www/website。将会有索引文件和ajax处理器以及类似的脚本。但是您基于项目的包含(以及其他杂项内容(将存储在/var/www/website/include 等目录中。这是针对黑客攻击的简单而有效的防御

因此,您的文档根目录将位于

/var/www/website/www(域(和/var/www/website/subdomain/www/www/(子域(中。

看来你的想法是正确的:

在多个 PHP 站点之间共享代码

这只是

一个建议,但您应该将公共内容放在可能最终可公开访问的/var/www/*中 - 由于您的http服务器或由于某些配置错误 - 并为您的共享代码/库创建一些其他目录,如/usr/local/lib/php/*

为了提高安全性,您应该open_basedir添加私有和公共目录以及上传和会话目录来构建它。

并且不要忘记对您的库进行版本控制,例如:

/usr/local/lib/php/myLib-1.0
/usr/local/lib/php/myLib-1.2

等。

因此,您将能够在不破坏所有内容的情况下进行更改。