对public_html

时间:2018-08-14 23:28:14

标签: php html

我已经对包含public_html之外的文件进行了很多研究,但是没有一个起作用,所以这就是我要发布的原因。

我的文件结构是这样的:

>home
   >username
      >includes
         resources.php
      >public_html
         index.php

在index.php上,我想包含resources.php,所以我有这个:

include_once("/home/username/includes/resources.php");

但是它不起作用。例如,如果我将其更改为此(并在public_html中放入另一个“ resources.php”),则它会

include_once("/home/username/public_html/resources.php");

为什么绝对路径不使用“包含”工作?如何为public_html以外的文件使用绝对路径?

在此先感谢您,如果将其视为重复的内容,我们深表歉意(我找不到类似的具体内容)。

2 个答案:

答案 0 :(得分:1)

出于安全原因,PHP通常受限于public_html内,并且在该路径之外没有访问权限。

通常来说,您应该将需要从PHP访问的所有目录放在public_html中,并使用相对路径。

答案 1 :(得分:0)

很可能由于Web服务器和php所运行的帐户无法访问您的主目录,因此/home/username/includes/resources.php无法正常工作。

您可以使用ls -l / home / username进行检查。您可能会发现Web服务器没有“包含”的任何权限。

如果您检查/ home / username / public_html,我敢打赌您会发现权限允许Web服务器访问,这就是它起作用的原因。