我有2台完全独立的OS服务器和配置。一个正确接受require_once '../file.php';
而另一个不接受,因为它与cron加载的位置有关。我猜。
如何修复第二个位置,使其相对路径来自文件的相对路径。我需要这个在3个不同的环境(本地,测试版和实时)中工作,所以我不想在这个页面上写一堆代码,如果可能的话,我更喜欢配置调整。
答案 0 :(得分:3)
将工作目录转移到正在运行的文件路径。只需使用
chdir(dirname(__FILE__));
include_once '../your_file_name.php'; //we can use relative path after changing directory
。然后你不需要在所有页面中改变每个相对路径到绝对路径。这对我来说很好。
答案 1 :(得分:2)
__FILE__
将指定当前脚本的完整文件路径。
realpath()
将具有相对组件的路径转换为绝对路径。
这应该有效:
require_once (realpath(dirname(__FILE__)."/../file.php"));