奇怪的問題,在Windows上的PHP ...我的應用程序加載,加載一個設置文件,寄存器自動加載一個「核心」文件,不初始化等爲核心文件的頂部我有include_once(「config.php文件「);這適用於當前目錄中的任何內容,如果我從一個單獨的目錄中包含核心文件,儘管它只是默默地忽略配置文件的包含......有沒有人看到過這個?require_once忽略
/webroot/core.php
<?php
require_once "config.php";
//register autoloads
//do some initialization... standard stuff
?>
/webroot/config.php
<?php
define("WEB_ROOT","/webroot");
define("DB_USER","root");
// ... more stuff...
?>
/webroot/admin/index.php
<?php
require_once("../dbconnect.php");
echo WEB_ROOT;
// print string literal WEB_ROOT rather than value in config.php
?>
我的理解是,文件操作是相對於發出請求的文件的目錄而言的,不應該在require_once(「config.php」)中選擇文件re lative到core.php?這段代碼的工作原理與我在Mac或Linux上所期望的一樣,但在Windows上完全沒有,(如果我改變require的使用完整路徑或../,它會起作用)
真正的瘋狂是require_once(「config.php」)不會拋出任何錯誤,但是裏面的代碼都不會被執行!
已經有人注意到的index.php是裝載dbconnect.php而不是config.php或core.php?您還需要顯示dbconnect.php的內容以及... – 2013-10-03 07:16:32