我正在通过相对路径尝试require/include文件。路径存在并检查所有权限。包含的脚本是可读的,可以通过浏览器中的URL访问.
但是,我收到错误/警告,它未能打开。调用脚本和要包含的文件都位于同一台服务器上。
来电者亲属:
/devel/phi/dev/appcenter-head/appcenter/application/nm/index.php
来电者位置:
/home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm
要求亲属:
/devel/nm/dev/http-api/http-api/src/httpapi.inc.php
所需地点:
/home/devel/wwwroot/nm/dev/http-api/http-api/src
我试过的是:
$strHttpApiUrl = "/devel/nm/dev/http-api/http-api/index.php";
$strFile = "/src/httpapi.inc.php";
$strDirName = dirname( $strHttpApiUrl );
$strRealpath = realpath( $strDirName . $strFile );
require_once $strRealpath;失败:PHP Warning: require_once(/home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm) [<a href='function.require-once'>functio n.require-once</a>]: failed to open stream: No such file or directory in /home/devel/wwwroot/phi/dev/appcenter-head/appcenter/application/nm/class/TWinLogin.php
也失败了:PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required '' (include_path='.:/opt/nm/appcenter40-server-php53/lib/php')
也尝试过平面图,包括字符串URL或使用绝对路径..。
我怎么能把那份文件包括进去?
编辑
这成功地包括了文件:
require_once '/home/devel/wwwroot/nm/dev/http-api/http-api/src/httpapi.inc.php';
那么,我如何才能得到工作路径,假设我得到了以下相对路径:
/devel/nm/dev/http-api/http-api/index.php
发布于 2013-03-25 14:55:05
realpath试图在文件系统中获得真正的路径--绝对路径。所以很可能是从斜杠开始的。
如果生成的路径以斜杠开头,而php试图要求/包含它,它很可能会认为它的“绝对”。如果它没有看到现有的文件--它会给出这些错误。
如果要使用相对路径,请避免重新路径。
https://stackoverflow.com/questions/15617524
复制相似问题