我正在尝试编写一个脚本,通过PHP检查当前登录用户主目录中是否退出特定目录。
在终端上我使用
volume.sync()
显示 cd ~
pwd
。
但是当我尝试使用PHP时,就像下面的那样
/home/ramratan
我也尝试过以下
chdir("~");
PHP Warning: chdir(): No such file or directory (errno 2)
in php shell code on line 1
PHP Stack trace:
PHP 1. {main}() php shell code:0
PHP 2. chdir() php shell code:1
它显示 chdir("/home");
echo shell_exec("pwd");
而非/home
,如果有人帮助我在/home/ramratan
中应该做什么,以便它返回chdir("/home")
。
我也试过以下但没有成功
/home/ramratan
答案 0 :(得分:1)
CLI
版PHP
将环境变量放入$_SERVER[]
。可以在$_SERVER['HOME']
中找到当前用户的主目录。无需更改任何目录或运行任何外部命令。
在OSX和Ubuntu上测试过,但我相信它适用于任何Linux发行版。目前无法讲述有关Windows的任何信息。
答案 1 :(得分:0)
您可以使用whomai
找到当前的用户名。使用该名称在/etc/passwd
中查找与该用户对应的行。从该行cut
出来的主目录信息:
$currentUserHomeDir = exec('grep `whoami` /etc/passwd | cut -d ":" -f6');