当我包含 vars.php 时:
$var='hello';
在 index.php 中:
require 'vars.php';
echo $var;
它工作得很好,即使 $var 不是全局的。但是当 index.php 看起来像这样时:
require 'http://site.com/vars.php';
echo $var 不起作用。我怎样才能让它工作呢?
当我包含 vars.php 时:
$var='hello';
在 index.php 中:
require 'vars.php';
echo $var;
它工作得很好,即使 $var 不是全局的。但是当 index.php 看起来像这样时:
require 'http://site.com/vars.php';
echo $var 不起作用。我怎样才能让它工作呢?
你不能。 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 - 它是相对文件系统路径。