[英]PHP exec() command not working
經過數小時的嘗試和尋找答案后,我無法讓它發揮作用。
托管詳情:
視窗服務器 2012 R2
Plesk 12
IIS 8.5
我的問題是:我想在 PHP 中執行這個命令。 在使用 PHP 腳本創建新用戶后,需要使用該命令重新加載 filezilla 的配置。
C:\Program Files (x86)\FileZilla Server\FileZilla Server.exe /reload-config
當我直接在 CMD 中嘗試時它確實有效。 但是在 PHP 中如果不以某種方式工作。 我嘗試了很多事情,我將嘗試給你我嘗試過的所有禮貌。
我嘗試通過以下方式做到這一點:
$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
exec( $command, $output, $return);
print_r($output);
echo '<br/>' .$return;
輸出:
Array ( )
0
$command = '"C:\\Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
system( $command, $output);
print_r($output);
輸出: 0
$command = 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /reload-config';
exec( $command, $output, $return);
print_r($output);
echo '<br/>' .$return;
輸出: 0
exec( 'C:\\"Program Files (x86)\\FileZilla Server\\FileZilla Server.exe" /stop 2>&1', $output);
print_r($output);
輸出:
Array ( [0] => Toegang geweigerd. )
英文:
Array ( [0] => Access denied. )
幾乎所有的觀察者都發現他們談到了特權。 我做了以下特權:
將所有web用戶和IUSR權限授予CMD.exe和FileZilla Server.exe,並嘗試將IIS身份驗證從匿名設置為管理員帳戶
有人說試試這個:
echo '<pre>';
system('set', $retval);
echo ' </pre>';
如果我這樣做,我的輸出是: http : //pastebin.com/SjzeQpJ0
如果你們想要更多細節就問。 我希望你們能幫我弄清楚。 我盡量說清楚。 謝謝。
如果你已經完成了所有這些,它現在應該可以工作了。
如果你已經完成了所有這些,它現在應該可以工作了。
通過使用上述方法並探索一些方法,我發現了一種更安全的方法來做到這一點。 您需要做的就是啟用“加載用戶配置文件”,然后它將擁有普通用戶分配的所有普通用戶權限。 只是讓它像這樣工作,而不是授予管理訪問權限:
和工作! 專門修復了 Windows 2012 R2
注意:如果當前對系統有高權限,這將是高風險。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.