2010-09-20 177 views
1

晚上好。我发现有几个问题似乎要求我提出同样的问题,但没有一个答案似乎适用于我。基本上,我有一些一般的PHP文件(主要是类,但也有一些不是),我希望能够通过多种PHP网站usuable。股票代码

这是我的文件夹结构的示例:

站点A根 C:\个人\网站已\站点A

站点B根 C:\个人\网站已\ SiteB中

共享代码 C:\ Personal \ WebSites \ Shared

从站点AI尝试使用include(“../ Shared/foo.php”)来到达文件,但是这不起作用。我有一种感觉,这是由于该文件夹超出SiteA的站点根文件夹。有没有办法简单地包含来自共享目录的文件?我无法想象这是一种罕见的做法,但我无法弄清楚。

BTW,我通过IIS(通过FastCGI的)在Windows 7中使用PHP 5.2.14如果该事项。最后,我将把这些网站迁移到Linux/Apache主机,所以我宁愿任何解决方案与任何解决方案。

谢谢!

回答

3

在你的php.ini,您可以目录添加到include_path,并包含文件从那时起。

"C:\Personal\Websites\Shared;" 

如果追加像这样的字符串到已经存在的include_path你可以做include 'specialDir\Class.php' where specialDir is a directory in Shared`。

+0

这是完美的。像魅力一样工作!谢谢! – 2010-09-20 03:02:31

3

最好的办法是设置一个目录中任何你希望(假设C:\个人\共享),并编辑你的php.ini的include_path这个目录添加为一个包含路径。确保你正确设置权限,以便IIS可以访问这个目录(我不是如何做到这一点与Windows 100%,但它应该是很容易的)。

然后,您只需将文件包含在同一目录中(PHP会为您搜索包括目录)。

例如,如果你有C:\个人\共享\ foo.php可以包括这样的:

include("foo.php"); 
+0

伟大的答案,但MEDER只是勉强打败你吧。谢谢! – 2010-09-20 03:03:15