就我所知,基本上就是这样。我可以包括或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