如何找到启动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它正在发挥你想要的作用