我無法找到在PHP中使用CGI(suPHP)獲取用戶主目錄(例如/home/jack;無論bash指向哪裏)的方法。 $ _ENV數組爲空,getenv('HOME')不返回任何內容。從PHP讀取用戶主目錄
我想這樣做的原因是,在配置,否則由於缺少說,我想找到/home/user/.myappnamehere通過我的應用程序使用的變量文件,因爲大多數Linux應用程序做。
我已經建立了一些東西,但它不是最好的;雖然它的工作原理,它假設了很多關於系統(例如存在/ etc/passwd文件)
$usr = get_current_user();
$passwd = file('/etc/passwd');
$var = false;
foreach ($passwd as $line) {
if (strstr($line, $usr) !== false) {
$parts = explode(':', $line);
$var = realpath($parts[5].'/.report');
break;
}
}
使用CGI的PHP?在這種情況下,誰將成爲當前用戶? – 2010-01-31 21:54:15
由於suPHP(以及suexec和其他任何方式),PHP過程以擁有腳本(.php)文件的用戶身份運行。 – 2010-01-31 21:55:52
你的解決方案還假定腳本運行的用戶可以讀取該文件,通常只有root用戶才能執行該操作...... – 2010-01-31 22:31:20