为什么PHP服务器在include()和required_once()函数上显示错误


Why PHP Server showing error on include() and required_once() functions?

我使用的php页面包括在我的网站,它是完美的工作没有错误在本地主机,但在运行这与一个实时的web服务器的时候,它显示了错误。通过使用这些函数include("http-url/file.php")required_once("http-url/file.php")它们显示如下错误

警告:include(): http://wrapper在服务器中被禁用配置allow_url_include=0 inwww.mysite.com/..。与文件包含.........如何解决这个问题

许多开发人员通过指向远程URL来包含文件,即使该文件位于本地系统中。例如:

<?php include("http://example.com/includes/example_include.php"); ?>

禁用allow_url_include时,此方法不起作用。相反,文件必须包含在本地路径中,有三种方法可以做到这一点:

  1. 通过使用一个相对路径,例如../includes/example_include.php。
  2. 通过使用绝对路径(也称为相对于根),例如/home/username/example.com/includes/example_include.php。
  3. 通过使用PHP环境变量$_SERVER['DOCUMENT_ROOT'],它返回web根目录的绝对路径。这是迄今为止最好的(也是最便携的)解决方案。下面的例子显示了环境变量的作用:

例子包括

<?php include($_SERVER['DOCUMENT_ROOT']."/includes/example_include.php"); ?>

关于的更多信息 allow_url_include here