在本地PHP文件中包含远程PHP文件函数

时间:2016-03-08 12:32:12

标签: php remote-server

通过相关帖子发现,发现转动allow_url_include就可以了。但是,当我这样做时:
远程文件file.php位于http://www.courierscripts.com

$content = file_get_contents('http://www.courierscripts.com/folder/file.php'); 
我的functions.php上的

无法使用file.php的功能。我也不想将file.php更改为file.txt,因为每个人都可以看到它。

还有其他方式吗?

1 个答案:

答案 0 :(得分:0)

如果文件位于同一服务器上,请使用它的绝对或相对路径,而不是URL。否则:

简答:

不,这是不可能的。

答案很长:

实际上可能有条件,但我打赌你不会喜欢它们。

如果您无法访问目标服务器,那显然是不可能的(否则将密码存储在像Wordpress这样的php配置文件中只会是一个很大的安全漏洞)。

首先,file_get_contents返回一个字符串。所以你可以eval,但是eval非常糟糕(你可以搜索SO寻找线索的原因)。

好吧,假设您同意评估来自该服务器的内容,即使考虑到有人可能会更改代码并在您的计算机上执行任何操作。但是你做了一个由服务器处理的http请求(Apache,Nginx或其他任何东西)。

服务器知道* .php文件不应作为静态文件处理。例如,fastcgi。例如,您可以使用RemoveHandler in Apache将其关闭。但这样每个人都可以看到以这种方式公开的文件的源代码。

因此,在删除处理程序并评估结果后,您可以获得结果。但要做好准备,与你一起工作的人会为了这样做而打击你;)

UPD

对于代码共享,使用Composer创建包并将其用作依赖项。