我在我的ubuntu 16.04操作系统上本地运行灯堆栈并且在包含文件时遇到问题。我在index.php中的代码:
<?php include('steamauth/steamauth.php'); ?>
<?php include('steamauth/userinfo.php');?>
我的结构是:
index.php
steamauth
steamauth.php
userinfo.php
我得到以下错误:
include(steamauth / userinfo.php):无法打开流:/var/www/html/index.php中没有这样的文件或目录
include():打开&stequouth / userinfo.php&#39;在/var/www/html/index.php中包含(include_path =&#39;。:/ usr / share / php&#39;)
我尝试使用完整路径,在路径之前添加webroot,更改php.ini中的include_path,但似乎没有任何工作。我该怎么办?
答案 0 :(得分:0)
检查文件夹授权
检查Apache用户是否有权访问include文件夹。
检查文件权限
检查Apache用户是否可以读取和执行您所包含文件的权限。
检查PHP设置
可能是由以下PHP设置之一引起的:
open_basedir的: 如果设置了这个,PHP将无法访问指定目录之外的任何文件(甚至不能通过符号链接)。
安全模式: 如果启用此限制可能适用。
路径绝对
使用以下方法检查是否为您的域正确设置了$ _SERVER [&#34; DOCUMENT_ROOT&#34;]:
print $_SERVER["DOCUMENT_ROOT"]; // Add to top of you index.php file.
然后将您的包含更改为:
$_SERVER["DOCUMENT_ROOT"] . '/sub_folder/file_to_include';
检查拼写错误和拼写错误
仔细检查您认为自己所谓的文件夹以及您使用它的内容拼写相同。
BTW:您可以在index.php文件中使用以下内容:
<?php
include('steamauth/steamauth.php');
include('steamauth/userinfo.php');
您也不需要添加结账?&gt;在文件的最后 - 它实际上是不好的做法。