0

当我包含 vars.php 时:

$var='hello';

在 index.php 中:

require 'vars.php';
echo $var;

它工作得很好,即使 $var 不是全局的。但是当 index.php 看起来像这样时:

require 'http://site.com/vars.php';

echo $var 不起作用。我怎样才能让它工作呢?

4

1 回答 1

1

你不能。 require 'http://site.com/vars.php';尝试获取web 服务器在 site.com 呈现的 PHP 脚本的输出- 它不再是 PHP 代码。你不能让 web 服务器以这种方式返回 PHP 源代码,你不应该尝试。

你为什么要这样做?如果可能,最好在包含中使用相对路径。这样您就可以移动您的应用程序代码,或将其部署在不同的服务器上,而无需编辑硬编码的路径名。

无论如何,我认为这可能是您想要做的(使用绝对文件系统路径而不是相对路径):

require '/path/to/site.com/files/vars.php';

在 Linux 上,此目录名称通常为/var/www. 在 Windows 上,路径将以驱动器号和冒号开头。

重要的是要了解您的声明require 'vars.php';不是相对URL - 它是相对文件系统路径

于 2012-04-03T20:09:13.623 回答