-1

这是我的快速代码。这使我可以为常用的 PHP 函数保留一个文件,并在需要时检索它。这主要是我的私人工作,而不是为客户服务。

$include_contents = '<?php '.file_get_contents("http://example.com/inc/functions.php");  
$handle = fopen("_functions.php", 'w');  
fputs($handle, $include_contents );  
fclose($handle);  
include('_functions.php');
4

2 回答 2

1

不要这样做!

更好的方法是在本地文件系统上托管您需要的所有文件并正常包含/需要它们。

您建议的方法没有任何优点,并且有许多严重的缺点,以至于这样做没有任何好处。

如果提供所有包含的主机出现故障,那么使用它们的每个站点也会出现故障。即使它没有降低执行附加 http 请求以包含远程文件的额外延迟,也会增加脚本的总执行时间。

更糟糕的是,如果远程服务器遭到入侵,或者您的 DNS 服务器被选为将远程站点的域指向恶意服务器,黑客可以轻松引入恶意代码。

服务器通常有大量可用的存储空间,没有理由不能将所有 PHP 脚本保存在服务器上,它们生成的页面将从服务器上提供。

注意:如果你坚持这样的疯狂,你可以启用 allow_url_include 然后你可以直接从 URL 中包含。

但就像我说的,这是一个非常非常糟糕的主意,并且 allow_url_include 默认关闭是有原因的。

于 2013-05-08T22:22:35.807 回答
0

您需要的是部署策略。Composer应该是一个很好的调查起点。它是一个用 PHP 编写的软件,旨在解决外部依赖关系,但不是在运行时,而是在安装时。从我给你的链接开始。

除了 composer 还有其他的 PHP 部署策略和软件,最值得注意(但需要更多努力才能使其工作)是PEAR甚至PEAR2

于 2013-05-08T22:04:27.943 回答