我遇到了一个奇怪的问题,正在运行的程序会根据我是从 Ubuntu 的终端还是从 shell_exec() 或 exec() 运行它来尝试做不同的事情。当我对两者执行“whoami”命令时,我得到相同的响应(我自己的用户名),所以我看不出这是用户问题。
如果您需要更多细节,我正在为 Electrum 比特币客户端运行命令,例如“electrum validateaddress 123”。在终端中,它给了我一个 JSON 字符串。在 PHP 的 shell_exec 中,它会抛出一个错误。在调试错误时,我发现它正在尝试在“/root/.electrum/”中创建一个新钱包,而它应该在“/home/username/.electrum/”中查找。自然,它没有在那里创建文件夹的权限,所以它失败了。
因此,如果在 PHP 中运行“whoami”给了我自己在 Ubuntu 中的用户名(不是 root 用户),为什么它会在根文件夹中查找?