如何找到启动PHP命令行脚本的文件夹?

时间:2013-12-26 07:35:57

标签: php command-line command-line-interface pwd working-directory

假设我的硬盘上有以下文件夹结构:

/some/dir/
    .
    scripts/
        myfile.php

然后从'/ some / dir /',我运行以下命令:

/some/dir/$ php scripts/myfile.php

然后,在PHP中,如何找到启动命令的文件夹(即'/ some / dir')?

我尝试使用getcwd()shell_exec('pwd'),但它们都只返回PHP脚本的路径(即/ some / dir / scripts)。知道怎么做吗?

1 个答案:

答案 0 :(得分:4)

例如,您可以参考$_SERVER['PWD']$_SERVER['OLDPWD']

例如,我在test.php子文件夹中有脚本./dev,内容为:

var_dump($_SERVER['PWD'], $_SERVER['OLDPWD']);

所以,你可以看到:

user@host:/var/www/data$ php dev/test.php       
string(13) "/var/www/data"
string(17) "/var/www/data/dev"

所以,第一个就是你要找的东西。

像往常一样,

脚本全名将在__FILE__常量。

中提供