PHP 包括不加载文件
PHP include not loading file
我在我的 ubuntu 16.04 OS 上本地运行 lamp 堆栈,我在包含文件时遇到问题。我的代码在 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(): 在 /var/www/html/index.php
中打开 'steamauth/userinfo.php' 以包含 (include_path='.:/usr/share/php') 失败
我尝试使用完整路径,在路径前添加 webroot,在 php.ini 中更改 include_path,但似乎没有任何效果。我该怎么办?
检查文件夹权限
检查 Apache 用户是否有权访问包含文件夹。
检查文件权限
检查您包含的文件的权限是否可以被 Apache 用户读取和执行。
检查 PHP 设置
这可能是由以下 PHP 设置之一引起的:
open_basedir:
如果设置 PHP 将无法访问指定目录之外的任何文件(甚至不能通过符号 link)。
安全模式:
如果打开此限制可能适用。
使路径成为绝对路径
使用以下方法检查 $_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');
您也不需要在文件末尾添加结束符 ?> - 实际上最好不要这样做。
我在我的 ubuntu 16.04 OS 上本地运行 lamp 堆栈,我在包含文件时遇到问题。我的代码在 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(): 在 /var/www/html/index.php
中打开 'steamauth/userinfo.php' 以包含 (include_path='.:/usr/share/php') 失败
我尝试使用完整路径,在路径前添加 webroot,在 php.ini 中更改 include_path,但似乎没有任何效果。我该怎么办?
检查文件夹权限
检查 Apache 用户是否有权访问包含文件夹。
检查文件权限
检查您包含的文件的权限是否可以被 Apache 用户读取和执行。
检查 PHP 设置
这可能是由以下 PHP 设置之一引起的:
open_basedir: 如果设置 PHP 将无法访问指定目录之外的任何文件(甚至不能通过符号 link)。
安全模式: 如果打开此限制可能适用。
使路径成为绝对路径
使用以下方法检查 $_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');
您也不需要在文件末尾添加结束符 ?> - 实际上最好不要这样做。