当我包含vars.php时:
$var='hello';
index.php中的:
require 'vars.php';
echo $var;
虽然$ var不是全局的,但效果很好。但当index.php看起来像这样:
require 'http://site.com/vars.php';
echo $ var不起作用。我怎么能让它工作呢?
答案 0 :(得分:1)
你做不到。 require 'http://site.com/vars.php';
尝试获取由site.com上的Web服务器呈现的PHP脚本的输出 - 它不再是PHP代码。你不能让Web服务器以这种方式返回PHP源代码,你不应该尝试。
你为什么要这样做?在可能的情况下,最好在包含中使用相对路径。这样您就可以移动应用程序代码,或将其部署在不同的服务器上,而无需编辑硬编码的路径名。
无论如何,我认为这可能是你想做的事情(使用绝对文件系统路径而不是相对路径):
require '/path/to/site.com/files/vars.php';
在Linux上,此目录名通常为/var/www
。在Windows上,路径将以驱动器号和冒号开头。
了解您的语句require 'vars.php';
不是相对的 URL 非常重要 - 它是相对的文件系统路径。