就我所知,基本上就是這樣。我可以包括或require_once有沒有腳本包含/ require_once,但如果這樣做,那麼PHP拋出我這個錯誤:PHP嘗試包含/需要包含/需要其他腳本的腳本時會引發致命錯誤
Warning: require_once(../constants/constants.php) [function.require-once]: failed to open stream: No such file or directory in C:\Home\Workspace\PHP\DD\src\log\test.php on line 7
Fatal error: require_once() [function.require]: Failed opening required '../constants/constants.php' (include_path='.;C:\Program Files\Xampp 1.7.7\php\PEAR') in C:\Home\Workspace\PHP\DD\src\log\test.php on line 7
的路徑是正確的。我擔心我可能搞砸了Apache Webserver的一些配置文件(我創建了一個.htaccess文件來使用mod_rewrite來創建一些更好的URL)。 .htaccess文件的內容就是這樣的:
Options +FollowSymLinks
RewriteEngine on
RewriteRule !.(gif|jpg|png|css)$ index.php
我的Apache文檔根目錄爲 「C:/家庭/工作區/ PHP」
UPDATE: 我發現,使用絕對路徑的作品,像這樣:
require_once $_SERVER['DOCUMENT_ROOT']."/DD/src/constants/constants.php";
我想我只是不使用相對路徑,然後。
這與Apache無關。包含的嵌套include文件必須包含相對於自己的正確路徑。 '../ constants/constants.php'不在基於包含文件的正確位置。 – 2012-04-10 03:07:14
@Michael你應該把這個作爲答案。 ;-)使用'dirname(__ FILE __)'來獲取當前的php文件的目錄,而不管當前的工作目錄如何,即使它們位於不同的目錄中,對於所有的php文件也是如此。 – Basti 2012-04-10 03:09:30