[英]undefined function error when calling it in another directory
我有另一個目錄(管理員),那里有一個需要博客文件的索引文件,但出現錯誤,提示未定義函數Blog \\ DB \\ connect()的調用,但真正令我感到困惑的是,當我執行此操作時,它永遠不會給我錯誤要求它在根目錄文件( index
或single
)中運行非常好。
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.