【发布时间】:2019-08-20 12:33:17
【问题描述】:
我一直在寻找一种不使用getcwd 来获取当前工作目录的方法。原因是这个函数的返回值在chdir 中是可变的。此外,因此我怀疑getcwd 是一个阻塞函数。
我不介意解决方案是否阻塞,只要它是不可变的(因此可缓存)并且可以从任何地方调用(即没有引导)。它必须始终是执行进程的目录。
【问题讨论】:
-
__DIR__是一个常量,所以它应该是不可变的(不要引用我的话:P),并且可能适合您的需要?它返回正在使用的文件的位置。你可以在这里阅读更多关于差异的信息stackoverflow.com/questions/2184810/… -
谢谢,但这不是我想要的。假设你的脚本在
/path/to/script.php,从/path运行它就像./to/script.php将意味着CWD 仍然是/path。我的问题是chdir会改变这一点(不是真的,它是一个模拟)但是原始的规范 CWD 会掉到水槽里,我无论如何都找不到让它回来。