通过cli调用php时,当前目录不会更改为其中一个脚本。我在crontab中运行的所有脚本都是通过CLI运行的,所以这是一个问题。
我目前通过使用脚本所在的绝对路径执行chdir()来解决问题,但我真的不喜欢将路径硬编码到类似的东西中。
我正在寻找最便携/可靠的方法来确保当前工作目录是脚本所在的目录。
答案 0 :(得分:37)
chdir(dirname(__FILE__));
答案 1 :(得分:3)
您可以使用__FILE__
获取执行文件本身的完整绝对路径:
<?php
echo "I'm here: ".__FILE__."\n";
?>
有关详细信息,请参阅the documentation。