当我包括vars.hp:时
$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';
试图获得site.com上的web服务器所呈现的PHP脚本的输出-它不再是PHP代码。您不能让web服务器以这种方式返回PHP源代码,也不应该尝试。
你为什么要这么做?如果可能,最好在includes中使用相对路径。这样,您就可以移动应用程序代码,或将其部署在其他服务器上,而无需编辑硬编码的路径名。
无论如何,我认为这可能是您想要做的(使用绝对文件系统路径而不是相对路径):
require '/path/to/site.com/files/vars.php';
在Linux上,此目录名通常为/var/www
。在Windows上,路径将以驱动器号和冒号开头。
重要的是要理解,您的语句require 'vars.php';
不是一个相对的URL,而是一个相对文件系统路径。