我有一系列托管与不同的域在同一台服务器上的网站所有。 我想举办一些常见的PHP scrips然后能够从其他领域调用这些。
林感到有点新鲜与我的PHP所以请借口代码的尝试 - 我已经试过这可以尽量帮助你明白我的目标有以下原因:迭代!
从PHP标签内...
include('http://www.mydomain/common_include.php?show_section=$section');
$show_section = $_GET['show_section'];
include('http://www.mydomain/common_include.php');//Then $show_section would be available to the included file/cod
最后,我曾尝试在包括包含一个函数,然后试图运行从父脚本包括拉动。
- 我更希望把这个PHP导向,而不是卷入与服务器(文件系统等(但我可以更改权限等)
- 我可以,但不希望只是上传相同的库到每个域分开
- 我理解PHP是服务器,因此可能有问题的跨脚本包括到另一台服务器上运行。
提前致谢。
#
编辑OK OK - 我得到它不好的做法,所以不会做....非常感谢的快速解答。 但是有一个如何esentially显示所有以巡航能力将文件添加到每个站点的根目录中的站点,从这个基本的PHP应用程序的任何其他建议? 只是为了防止大规模的脚本复制......(想大声调用脚本从数据库或任何其它soloutions)的协助再次感谢
这将是一个巨大的安全隐患,如果你可以只包含远程PHP文件到自己的项目。 服务器发送给您之前,所以PHP被解析跨域包括将只包含脚本生成的输出。 包括PHP文件,使他们可以执行的唯一方法是通过本地文件系统。
如果你看一下PHP.net的文档有关包括,你可以找到这样的:
如果“URL fopen封装”在PHP(它们在默认配置)启用后,您可以指定文件使用一个URL(通过HTTP或者其它支持的封装包括 - 见支持的协议/封装协议的名单列表协议),而不是本地路径。 如果目标服务器解释目标文件作为PHP代码,变量可以被传递到使用与HTTP GET中使用的URL的请求字符串所包含的文件。 这不是严格意义上讲同样的事情,包括文件并继承父文件的变量空间; 该脚本文件实际上已经在远程服务器上运行,而结果则包括了当地的脚本。
这几乎解释了整个事情。
原来问题的根源似乎是海报的有关使用PHP脚本或插件在多个网站上,然后让每个需要进行更新时间一项繁重的任务的关注。 虽然试图包括跨站点PHP文件是一个坏主意,这是一个更好的计划来组织你的脚本是载尽可能自我。 请包含在一个目录下的所有插件....并确保您的函数调用来利用它作为以及形成尽可能 - 干净,命名的功能,统一的命名约定以及什么参数每个功能需求的深思熟虑的计划。 避免使用全局变量。
理想情况下,你应该再有一个很容易的时候,每次你需要的所有位置,以更新的插件/脚本。 你甚至可以设置一个自动的过程,将上传包含插件到每个站点换旧人新的目录。 而你的代码中的函数调用应该很少,如果改变。
如果你的脚本是足够大的,你可以实现像较新版本的WordPress的使用自动更新过程。 单击一个按钮,它自我更新。 在过去,更新运行WordPress的(作为一个例子),一打的网站是一个巨大的痛苦。
这是非常不好的做法。
其实你不包括PHP只是HTML代码。
包括文件 ,而不是URL。 有可能在同一台服务器。
只要使用绝对路径这些文件。
除了事实,这是一个不好的做法,你应该先检查是否包括允许的网址 ,如果你真的想这样做。
然而,如果所有需要使用脚本的网站,你可以把这个脚本在某处由执行PHP和目录添加到php.ini中的用户可以访问的目录包含路径属性( 也可以在运行时完成 )
(或者你可以创建一个PHP扩展,并加载它作为扩展名)
如果你有一个服务器上以root权限,你可以只使用从文件系统的根目录的绝对路径,但大多数hostings不会让你这样做。