我刚刚注意到如果在 __destruct() 魔术函数中调用 getcwd() 返回“/”,而在任何其他方法中它返回预期路径。
你对此有什么解释吗?
有一个老错误。
而不是getcwd()
,你能用__FILE__
吗?
这是一个 SAPI 行为
“在脚本关闭期间调用的析构函数已经发送了 HTTP 标头。脚本关闭阶段的工作目录可能与某些 SAPI(例如 Apache)不同。”
来自http://php.net/manual/en/language.oop5.decon.php
但正如其他答案中提到的,有很多方法可以获取当前的相对路径。如果您在运行时更改它,请确保注意对象内部的某个位置。