在另一个目录中调用时未定义的函数错误

时间:2016-01-08 16:41:05

标签: php

我有另一个目录(admin)我有一个索引文件,需要博客文件,我得到一个错误它的说法调用未定义的功能Blog \ DB \ connect()但真正让我困惑的是它从来没有给我一个我在根目录文件(select * from my_table where date(timestamp_col) = '2016-01-08' and user_id = 123; index中需要它时出错,它运行得很好。

admin / index.php 代码:

single

blog.php 代码:

<?php 
require '../blog.php';

view('admin/create');
?> 

我花了两天的时间找到了这个错误的原因,如果有人可以启发那会很棒。

enter image description here

2 个答案:

答案 0 :(得分:0)

您需要选择正确的目录。如果您不在文件所在的目录下方,则需要升级到另一个级别

require '../../blog.php';

或者,您可以指定从DOCUMENT_ROOT开始的路径,这样您就不必计算要上升的级别数:

require $_SERVER['DOCUMENT_ROOT'].'/path/to/blog.php'

答案 1 :(得分:0)

那是因为require使用了调用脚本文件夹(admin/)。 将blog.php中的require更改为:

require dirname(__FILE__) . '/functions.php';
require dirname(__FILE__) . '/config/config.php';
require dirname(__FILE__) . '/db.php';

使用$_SERVER['DOCUMENT_ROOT']只能通过Web服务器而不是CLI来调用脚本。