我和 phpStorm 的文件路径正确,但在现实世界中是错误的
File paths right by me and phpStorm but wrong in real world
phpStorm 和我同意这很疯狂,但是 "wrong" 文件路径有效,而 "right" 文件路径失败。基本结构。
|
|------classes(directory)
| |
| |
| Person.php
|
|------include(directory)
| |
| |
| db-connect.inc.php
| autoloader.inc.php
| helper.inc.php
|
|
|index.php
|etc.php
在我使用的索引中:(1)
include_once "include/autoloader.inc.php";
include_once "include/db-connect.inc.php";
include_once "include/helper.inc.php";
在 Person.php 中,我希望使用:(2)
include_once "../include/autoloader.inc.php";
include_once "../include/db-connect.inc.php";
include_once "../include/helper.inc.php";
但是得到的是:
"Warning: include_once(../include/autoloader.inc.php): failed to open stream:
No such file or directory in C:\xampp\htdocs\dummy\classes\Person.php on line 2"
奇怪 (3)
include_once "/../include/autoloader.inc.php";
include_once "/../include/db-connect.inc.php";
include_once "/../include/helper.inc.php";
有效,甚至更奇怪 (4)
include_once "include/autoloader.inc.php";
include_once "include/db-connect.inc.php";
include_once "include/helper.inc.php";
即使我们在上一级目录!
phpStorm 将 3 和 4 标记为错误(表示 "Path include/autoloader.inc.php not found" 和 "Include expression is not resolved"),而 (2),我认为是 "right",得到一个漂亮的大绿色勾号但是调试失败或通过 http://localhost 等直接访问时失败
我总是为这些路径问题而苦恼,但为什么我和 phpStorm 都同意,而现实世界却说不!
我想我必须把 $_SERVER['DOCUMENT_ROOT']
放在所有地方(用 Storm 比普通写更容易!)但仍然很痛苦!
这是正确的行为。
您加载的页面在/
您包含了来自 /includes
的文件
现在您包含的文件是 /
中页面的一部分
所以包含文件中的所有包含都被视为来自 /
而不是来自 /includes
的亲戚
等等...
phpStorm 和我同意这很疯狂,但是 "wrong" 文件路径有效,而 "right" 文件路径失败。基本结构。
|
|------classes(directory)
| |
| |
| Person.php
|
|------include(directory)
| |
| |
| db-connect.inc.php
| autoloader.inc.php
| helper.inc.php
|
|
|index.php
|etc.php
在我使用的索引中:(1)
include_once "include/autoloader.inc.php";
include_once "include/db-connect.inc.php";
include_once "include/helper.inc.php";
在 Person.php 中,我希望使用:(2)
include_once "../include/autoloader.inc.php";
include_once "../include/db-connect.inc.php";
include_once "../include/helper.inc.php";
但是得到的是:
"Warning: include_once(../include/autoloader.inc.php): failed to open stream:
No such file or directory in C:\xampp\htdocs\dummy\classes\Person.php on line 2"
奇怪 (3)
include_once "/../include/autoloader.inc.php";
include_once "/../include/db-connect.inc.php";
include_once "/../include/helper.inc.php";
有效,甚至更奇怪 (4)
include_once "include/autoloader.inc.php";
include_once "include/db-connect.inc.php";
include_once "include/helper.inc.php";
即使我们在上一级目录!
phpStorm 将 3 和 4 标记为错误(表示 "Path include/autoloader.inc.php not found" 和 "Include expression is not resolved"),而 (2),我认为是 "right",得到一个漂亮的大绿色勾号但是调试失败或通过 http://localhost 等直接访问时失败
我总是为这些路径问题而苦恼,但为什么我和 phpStorm 都同意,而现实世界却说不!
我想我必须把 $_SERVER['DOCUMENT_ROOT']
放在所有地方(用 Storm 比普通写更容易!)但仍然很痛苦!
这是正确的行为。
您加载的页面在/
您包含了来自 /includes
现在您包含的文件是 /
所以包含文件中的所有包含都被视为来自 /
而不是来自 /includes
等等...