为什么getcwd()在__destruct()中返回/?

时间:2013-02-04 00:23:19

标签: php getcwd

我刚刚注意到,如果在__destruct()魔术函数中调用,则getcwd()返回“/”,而在任何其他方法中,它返回预期的路径。

你对此有解释吗?

2 个答案:

答案 0 :(得分:2)

old bug

而不是getcwd(),您可以使用__FILE__吗?

答案 1 :(得分:2)

这是一个SAPI行为者

“在脚本关闭期间调用的析构函数已经发送了HTTP头。脚本关闭阶段的工作目录可能与某些SAPI(例如Apache)不同。”

来自http://php.net/manual/en/language.oop5.decon.php

但正如其他答案中所提到的,有很多方法可以获得当前的相对路径。如果在运行时更改它,请确保在对象内部的某处注明。