Php包括不工作?功能不包括在内

Tom*_*Tom 9 php function include-path

以下是该情况的完整背景:

我最近有一台新Mac,我是一名php开发人员,所以我下载了MAMP并开始开发.

首先我注意到我的包含没有包括在内,但我通过配置我的更改了php.ini.

但是现在,当我尝试使用函数包含文件时,它无法识别该函数.

例如,我有一个名为的文件functions.php:

<?php
function doit(){
    echo "did it";
}
?>
Run Code Online (Sandbox Code Playgroud)

以及包含它的文件,名为index.php

<?php include("functions.php"); doit();?>
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息

致命错误:在第4行的index.php中调用未定义的函数doit()

Sea*_*son 28

有时当前目录不是您期望的目录,例如当您从包含的文件中包含文件时.

我喜欢$_SERVER['DOCUMENT_ROOT']在我的包含上使用,以便我可以始终从我的网站的根目录中引用它们:

<?php
    include($_SERVER['DOCUMENT_ROOT']."/includes/functions.php");
    doit();
?>
Run Code Online (Sandbox Code Playgroud)

如果您的包含目录位于文档根目录之上,则可以使用..仍然从根目录引用.

  • 一百万次是的,谢谢!这让我不知道为什么我的东西不起作用。 (2认同)

Tom*_*Tom 10

因此,如果有人偶然发现这个论坛,因为他们遇到了同样的问题,请让我解释一下它出错的原因和原因.

如果你包含一个不在你的目录中的函数(例如c://或file://),而是包含使用http.include只能返回文件中回显的内容,但不会显示类似变量或函数的内容.所以总是通过目录包含函数和变量