簡體   English   中英

在另一個目錄中調用該函數時發生未定義的函數錯誤

[英]undefined function error when calling it in another directory

我有另一個目錄(管理員),那里有一個需要博客文件的索引文件,但出現錯誤,提示未定義函數Blog \\ DB \\ connect()的調用,但真正令我感到困惑的是,當我執行此操作時,它永遠不會給我錯誤要求它在根目錄文件( indexsingle )中運行非常好。

admin / index.php代碼:

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

view('admin/create');
?> 

blog.php代碼:

    require 'functions.php';
    require 'config/config.php';
    require 'db.php';

     use Blog\DB;
 $conn = DB\connect($config['DB_USERNAME'],$config['DB_PASSWORD'],$config['DATABASE']);
 if (!$conn) die('Could not Connect');

如果有人可以啟發我,那么我已經花了2天的時間來查找此錯誤的原因,這將是非常不錯的。

在此處輸入圖片說明

您需要選擇正確的目錄。 如果您不在文件所在的目錄下,則需要再上一層

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

或者,您可以指定從DOCUMENT_ROOT開始的路徑,這樣您就不必計算要上升的級別數:

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

這是因為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調用腳本的情況下起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM