我在同一目录中有两个文件夹Provider
和Library
。 Provider
包含两个php文件ActiveRequests.php
和PendingRequests.php
。 Library
包含另一个文件夹Multilingual
,其中包含Pagefactory.php
和languageSession.php
- Provider
- ActiveRequests.php
- PendingRequests.php
- Library
- Multilingual
- Pagefactory.php
- languageSession.php
我在PageFactory.php
中加入了ActiveRequests.php
include_once __DIR__ . '/../library/Multilingual/PageFactory.php'
它工作正常。
但是,当我尝试以PageFactory.php
方式将PendingRequests.php
包含在内时,就像
include_once __DIR__ . '/../library/Multilingual/PageFactory.php'
它不起作用。
当我尝试将languageSession.php
包含在Pendingrequests.php
中时
include_once __DIR__ . '/../library/Multilingual/languageSession.php'
工作正常。
任何人都可以帮助我吗? PageFactory.php
路径可能出现什么问题?
我也试过了$_SERVER["DOCUMENT_ROOT"]
,但它没有用。
答案 0 :(得分:1)
我刚刚解决了同样的问题,关键是如果您在PageFactory.php
中加入PendingRequests.php
,则必须更改基于PageFactory.php
路径的PendingRequests.php
引用的每个文件。我用这种方式解决了我的问题。
答案 1 :(得分:0)
尝试将路径打印为
echo __DIR__ . '/../library/Multilingual/PageFactory.php';
通过这种方式,您可以检查文件的路径是否正确!
或者使用var_dump
检查路径!
To the people downvoting my answer:打印路径是为了调试!
或者您可以将路径检查为:
var_dump(file_exists(__DIR__ . '/../library/Multilingual/PageFactory.php'));
__DIR__
是父目录的路径。从Provider
使用时,它会提供PendingRequests.php
的路径。
我认为问题是您使用了../
。请尝试删除它!
例如,
__DIR__ . '/../library/Multilingual/PageFactory.php'
与
path/to/Provider/../library/Multilingual/PageFactory.php
所以最后的答案是删除“../”,它变为:
__DIR__ . '/library/Multilingual/PageFactory.php'
答案 2 :(得分:0)
显而易见的问题是您包含以下文件:
include_once __DIR__ . '/../library/Multilingual/PageFactory.php'
文件名为Pagefactory.php
。
在非Windows系统上,这会有所不同。确保大写是正确的。
这可能只是你问题中的拼写错误(它最初表明它可能是拼写错误的数量!)但它可能是问题的原因。