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

如何找到启动PHP命令行脚本的文件夹?,php,command-line,command-line-interface,pwd,working-directory,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)。你知道怎么做吗?例如,你可以参考$\u服务

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

/some/dir/
    .
    scripts/
        myfile.php
然后从“/some/dir/”运行以下命令:

/some/dir/$ php scripts/myfile.php
然后,在PHP中,如何找到启动命令的文件夹(即“/some/dir”)


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

例如,你可以参考
$\u服务器['PWD']
$\u服务器['OLDPWD']

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

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" user@host:/var/www/data$php dev/test.php 字符串(13)“/var/www/data” 字符串(17)“/var/www/data/dev” 所以,第一个是你要找的


脚本全名通常会在
\uuu文件\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

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

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" user@host:/var/www/data$php dev/test.php 字符串(13)“/var/www/data” 字符串(17)“/var/www/data/dev” 所以,第一个是你要找的


脚本全名,和往常一样,将在
\uuuu文件\uuuuu
常量中提供。

/usr/share/nginx/www/stackoverflow/test.php test.php/usr/share/nginx$php www/stackoverflow/test.php it return/usr/share/nginx它正在按您的意愿工作/usr/share/nginx/www/stackoverflow/test/test.php test.php test.php/usr/share/nginx$php中的代码返回/usr/share/nginx它正在发挥你想要的作用