Php包括不起作用?函数未包含在内

2022-08-31 00:07:19

以下是情况的完整背景:

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

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

但是现在,当我尝试包含带有函数的文件时,它无法识别该函数。

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

<?php
function doit(){
    echo "did it";
}
?>

以及包含它的文件,称为索引.php

<?php include("functions.php"); doit();?>

我收到此错误消息

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


答案 1

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

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

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

如果包含目录位于文档根目录之上,则可以 使用 仍从根目录进行引用。..


答案 2

因此,如果有人因为遇到同样的问题而偶然发现这个论坛,让我解释一下它出了什么问题以及为什么出了问题。

如果您包含不在目录中的函数(例如 c:// 或 file://),而是包含使用http。include 只能返回文件中回显的内容,但不会显示变量或函数之类的内容。因此,始终通过目录包含函数和变量


推荐