【问题标题】:PHP include not loading filePHP包含不加载文件
【发布时间】:2018-04-09 12:50:59
【问题描述】:

我在我的 ubuntu 16.04 操作系统上本地运行灯堆栈,并且在包含文件时遇到问题。我在 index.php 中的代码:
<?php include('steamauth/steamauth.php'); ?> <?php include('steamauth/userinfo.php');?> 我的结构是:
index.php steamauth steamauth.php userinfo.php
我收到以下错误:
包括(steamauth/userinfo.php):无法打开流:/var/www/html/index.php 中没有这样的文件或目录
include():在 /var/www/html/index.php
中打开 'steamauth/userinfo.php' 以包含 (include_path='.:/usr/share/php') 失败 我尝试使用完整路径,在路径前添加 webroot,更改 php.ini 中的 include_path,但似乎没有任何效果。我该怎么办?

【问题讨论】:

  • 为了测试您的包含没有问题,您可以尝试将包含文件放在与 index.php 相同的文件夹中,并将包含更改为 'steamauth.php' 和 'userinfo .php'?让我知道这是否有效?
  • 如果可行,请将文件放回 steamauth 并将包含更改为 "{$_SERVER[DOCUMENT_ROOT]}/steamauth/steamauth.php" 和 "{$_SERVER[DOCUMENT_ROOT]}/steamauth/用户信息.php”。注意:您必须将单引号更改为双引号才能对此进行测试。让我知道这是否有效。
  • 接下来,在 steamauth 文件夹中创建一个测试文件 "index.php" 并简单地将 " 放入其中。然后尝试加载 [your domain]/steamauth /index.php 在您的浏览器中。页面是否加载?
  • 这似乎也与您 2 天前的问题重复(有一些小改动)。下次您应该为现有问题添加更多详细信息,而不是再次创建问题。
  • 问题是我还有 1 个我没有提到的名为 navbar.php 的文件,我可以包含它没问题。我什至可以访问您所写的 steamauth 文件夹中的 index.php。但我不能包含这两个文件:userinfo.php 和 steamauth.php,尽管它们与其他文件具有相同的权限。有什么想法吗?

标签: php apache server include require


【解决方案1】:

检查文件夹权限

检查 Apache 用户是否有权访问包含文件夹。

检查文件权限

检查您包含的文件的权限是否可以被 Apache 用户读取和执行。

检查 PHP 设置

这可能是由以下 PHP 设置之一引起的:

open_basedir: 如果设置了这个,PHP 将不能访问指定目录之外的任何文件(甚至不能通过符号链接)。

安全模式: 如果启用此功能,可能会应用限制。

将路径设为绝对路径

使用以下方法检查 $_SERVER["DOCUMENT_ROOT"] 是否为您的域正确设置:

print $_SERVER["DOCUMENT_ROOT"]; // Add to top of you index.php file. 

然后将您的包含更改为:

$_SERVER["DOCUMENT_ROOT"] . '/sub_folder/file_to_include';

检查拼写错误和拼写错误

仔细检查您认为您对文件夹的称呼以及您用来包含该文件夹的拼写是否相同。

顺便说一句:您可以在 index.php 文件中使用以下内容:

<?php
include('steamauth/steamauth.php');
include('steamauth/userinfo.php');

您也不需要在文件末尾添加结束 ?> - 实际上最好不要这样做。

【讨论】:

  • 我之前将它们设置为 777。我的权限:drwxrwxrwx 2 www-data www-data 4096 окт 28 00:35 steamauth
  • 在steamauth目录下可以访问navbar.php
  • 检查包含文件的文件权限是否可以被Apache用户读取和执行。
  • 我完成了所有操作,并且 navbar.php 文件继续使用上述所有方法加载,但同一目录中的其他 2 个没有,它给了我错误:include(/var/www/ html/userinfo.php):无法打开流:/var/www/html/index.php 中没有这样的文件或目录
  • -rwxrwxr-x 1 misho misho 1569 окт 28 00:35 navbar.php -rwxrwxrwx 1 www-data www-data 1835 окт 27 11:50 steamauth.php -rwxrwxrwx 1 www-data www-数据 2510 окт 27 11:50 userInfo.php
猜你喜欢
  • 1970-01-01
  • 2011-02-13
  • 2013-07-27
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2011-08-02
  • 2012-02-13
  • 1970-01-01
相关资源
最近更新 更多