Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP XAMPP服务器文档\u根文件夹结构_Php_Xampp_Document Root - Fatal编程技术网

PHP XAMPP服务器文档\u根文件夹结构

PHP XAMPP服务器文档\u根文件夹结构,php,xampp,document-root,Php,Xampp,Document Root,这是我第一次用xampp创建测试站点。我最初将所有php文件放在一个文件夹中,最近才决定组织数据(是的,事后看来,我应该从一个有组织的文件夹结构开始)。总之,我的设置如下: “[]”表示它是一个文件夹 安装在我的C:\驱动器上 [xampp] └── [htdocs] └── [QMS] └── [rev3] ├── [css] ├── [js] ├── [DPU] ├── [

这是我第一次用xampp创建测试站点。我最初将所有php文件放在一个文件夹中,最近才决定组织数据(是的,事后看来,我应该从一个有组织的文件夹结构开始)。总之,我的设置如下:

“[]”表示它是一个文件夹

安装在我的C:\驱动器上

[xampp]
└── [htdocs]
    └── [QMS]
        └── [rev3]
            ├── [css]
            ├── [js]
            ├── [DPU]
            ├── [login]
            ├── index.php
            ├── header.php
            └── config.php
在我的“config.php”文件中,我试图定义根路径(可能是错误):

然后在我的header.php文件中,我有:

<?php
require $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/config.php";
include $_SERVER['DOCUMENT_ROOT'] . "/QMS/rev3/login/session.php";
.....
?>

HTML - located in the <head> section

<link rel='stylesheet' type='text/css' href='<?php echo $path . "css/searchBar.css"; ?>'/>
<link rel='stylesheet' type='text/css' href='<?php echo $path . "css/tables/filtergrid.css"; ?>'/>
<script type="text/javascript" language="javascript" src='<?php echo $path . "js/jquery.dataTables.js" ?>'></script>
<script type="text/javascript" language="javascript" src='<?php echo $path . "js/jquery.loader.js" ?>'></script>

... MANY OTHER scripts and stylesheets.
当我在Chrome中启动时,我的所有脚本和样式表都会出现以下错误(总共19个错误):

当我的所有文件都在同一个文件夹中并且我没有使用服务器['DOCUMENT_ROOT']时,我的网站工作得很好,但现在我不知道该怎么做……有什么建议吗


.

如果从此行中删除
/
,请尝试在开头不带“/”的“QMS/rev3/header.php”

需要$\u服务器['DOCUMENT\u ROOT']。“/QMS/rev3/header.php”

如果要包含header.php文件,还需要将
$path
更改为:

$path=$\u服务器['DOCUMENT\u ROOT']。“QMS/rev3/”

一般来说-如果使用config.php设置
$path
,并将其包含在所有页面中,则使用
$path
变量,而不是
$\u服务器['DOCUMENT\u ROOT']。“QMS/rev3/
。这样您就可以轻松地保存代码


关于不允许加载本地资源的,请查看

不允许加载本地资源的

您在
中使用的url(展开所有符号链接,并解析对
/././
/..//.//code>和额外
/
字符的引用):


如果
realpath()
无法解析路径,它将返回
false
,这就是为什么要进行一些检查。

不要使用文档根定义主路径。 将这行代码放在config.php中

$path = rtrim(dirname(__file__),"/")."/";
现在,path变量具有根路径,包括前导斜杠(/)。
在尝试了很多解决方案后,您可以使用它。

我是这样做的,因为这是本地和在线的工作方式。 您可以使用所需的路径定义变量,如下所示:

$path = "";
if ($_SERVER['HTTP_HOST'] == "localhost")
{
    $path = $_SERVER['DOCUMENT_ROOT']."/mysite";
}
else
{
    $path = $_SERVER['DOCUMENT_ROOT'];
}

include_once($path.'/include/config.php');

检查您在C:/xampp上的文件权限,确保用户组
Everyone
具有读取权限。这些权限的确切位置是什么?标准windows权限。右键单击文件夹,转到“属性”,然后选择“安全”选项卡。我更改了每个人对C:\xampp文件夹的完全控制权限,但我仍然可以同样的错误我刚把它改为:require(“QMS/rev3/header.php”);我得到一个错误,上面写着“无法打开流”。啊,我现在明白你的意思了。我在开始时添加了$SERVER['DOCUMENT_ROOT',],网站出现了,但仍然找不到我的样式表和脚本。这很有帮助,但这里的主要问题是我得到了错误。”不允许加载本地资源”。它能够找到文件,但由于某些权限错误(可能是通过xampp)而无法加载它们。在您的示例中,我将使用
define('ROOT\u PATH',realpath(ROOT./....)
而不是
define('ROOT\u PATH','uuuu DIR\uu./....)
。无需再次确定DIR是什么,在解析路径时,您也不希望PHP在目录中导航。
realpath()
一次性完成此操作,并删除最后的斜杠
"NOT ALLOWED TO LOAD LOCAL RESOURCE  file///C:/xampp/htdocs/QMS/rev3/ ......etc..."
<link rel="stylesheet" type="text/css" href="/QMS/rev3/css/searchBar.css" />
define('ROOT_PATH', __DIR__);
require ROOT_PATH . '/header.php';
define('ROOT_PATH', __DIR__ . '/../..');

# ...

require ROOT_PATH . '/QMS/rev3/header.php';
$rootPath = __DIR__ . '/../..';  # or just __DIR__
$realPath = realpath($rootPath);
define('ROOT_PATH', $realPath ?: $rootPath);
$path = rtrim(dirname(__file__),"/")."/";
$path = "";
if ($_SERVER['HTTP_HOST'] == "localhost")
{
    $path = $_SERVER['DOCUMENT_ROOT']."/mysite";
}
else
{
    $path = $_SERVER['DOCUMENT_ROOT'];
}

include_once($path.'/include/config.php');