首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP包含调用抛出警告,但继续

PHP包含调用抛出警告,但继续
EN

Stack Overflow用户
提问于 2014-08-19 17:14:38
回答 3查看 1.3K关注 0票数 1

我有一个非常简单的PHP脚本,但在我的一生中,我无法理解为什么一行不能工作。

主要剧本:

代码语言:javascript
复制
<?php
    include("/includes/processes.php");
?>
[...]
<?php
    if(getUserLevel() == 3) {
        ?>
[...]

processes.php是在正确的地方和所有这些。它应该定义getUserLevel()。下面是:

代码语言:javascript
复制
<?php

function getUserLevel() {
    if(isset($_COOKIE["userlvl"]) && isset($_SESSION["userlvl"]) {
        if($_COOKIE["userlvl"] == $_SESSION["userlvl"]) return $_SESSION["userlvl"];
        else return 0;
    }
    else {
        return 0;
    }
}

function usernameIs($name) {
    if($_COOKIE["username"] == $name && $_SESSION["username"] == $name) return true;
    else return false;
}

?>

因此,当我转到index.php (主脚本)时,它会给我两个警告和一个致命错误:

代码语言:javascript
复制
Warning: include(/includes/processes.php): failed to open stream: No such file or directory in /home/u164546666/public_html/index.php on line 2
Warning: include(): Failed opening '/includes/processes.php' for inclusion (include_path='.:/opt/php-5.5/pear') in /home/u164546666/public_html/index.php on line 2
Fatal error: Call to undefined function getUserLevel() in /home/u164546666/public_html/index.php on line 27

(第2行是include()调用,第27行是调用getUserLevel())

很明显,我为什么会犯致命的错误--因为include()失败了--但是为什么呢?是服务器配置问题还是我写错了?

文件树:

代码语言:javascript
复制
index.php
/includes
    /processes.php
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-19 17:18:10

您可能需要相对路径,并且缺少.

代码语言:javascript
复制
<?php
    include("./includes/processes.php");
?>
票数 4
EN

Stack Overflow用户

发布于 2014-08-19 17:18:29

将包含更改为

代码语言:javascript
复制
include_once dirname(__FILE__) . "/includes/processes.php";

但是,我会选择require,因为该文件包含重要的功能。

require与include相同,除非失败,否则还会产生致命的E_COMPILE_ERROR级别错误。换句话说,它将停止脚本,而只包含一个允许脚本继续运行的警告(E_WARNING)。

票数 1
EN

Stack Overflow用户

发布于 2014-08-19 17:18:55

问题在于您的包含声明。只要去掉它周围的括号就可以了:

代码语言:javascript
复制
include "/includes/processes.php";
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25389277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档