在网站根目录上方存储的包含文件中包含文件 - 不起作用

Include file within an include file stored above the website root - not working

我包含此文件以通过 swift 邮件发送电子邮件 require_once '../../../../../directory-above-root/swiftmailer/lib/swift_required.php';

我收到错误 require_once():open_basedir 限制生效。我想这意味着它正在尝试访问一个目录,该目录是 WAY 的目录,因此无法访问。

即使此路径在包含在网站的另一个文件中时有效,但在包含在另一个文件中时将不起作用。然后路径应该变成这样才能正常工作: require_once '../../directory-above-root/swiftmailer/lib/swift_required.php';

问题是这个文件包含在这个页面包含的文件中,所以我需要一种以绝对方式指向目录的方法。 (我希望这是有道理的!)

directory-above-root 是网站目录之上的目录(我使用它是因为该文件包含我的电子邮件的登录详细信息)。

我想我需要这样的东西:

define( 'ROOT_DIR', 目录名(FILE) ); require_once ROOT_DIR.'../directory-above-root/swiftmailer/lib/swift_required.php';

我仍然很想知道这个问题的答案,但通过不在文件中包含文件中的文件找到了解决我的问题的方法。 问题解决了!

使用$_SERVER['DOCUMENT_ROOT']

require_once($_SERVER['DOCUMENT_ROOT']."/../directory-above-root/swiftmailer/lib/swift_required.php");