2013-08-26 42 views
2

我有一個問題。我想用php代碼重新啓動ubuntu,但是我不能。我已經嘗試了所有的代碼從互聯網上像如何從PHP腳本暫停/重啓Linux Ubuntu?

<?php 
shell_exec("/usr/sbin/reboot"); 
exec("/usr/sbin/reboot"); 
system("/usr/sbin/reboot"); 
?> 

<?php 
shell_exec("shutdown -r"); 
exec("shutdown -r"); 
system("shutdown -r"); 
?> 

但他們都無能爲力。請幫幫我。我需要這個代碼。

回答

0

我不建議給到PHP用戶

入住這裏的root訪問權限: https://stackoverflow.com/a/5226760/2708670

+0

我看到你的鏈接。但我不完全明白。 –

+0

我知道這是危險的,但我需要此代碼進行練習 –

0

如果PHP代碼是由網絡服務器執行的,它是在用戶下運行「WWW-數據「在Ubuntu中。

也許www-data無權關機,這是一種理智的默認設置。

您可以給www-data sudo權限關閉而無需提供密碼並使用sudo重新啓動。

請仔細看看man sudoers,並確保在編輯sudo配置之前理解安全含義:這將有效地賦予任何PHP腳本關閉服務器的權利(未經測試)。

# /etc/sudoers (edit using the visudo command) 

Cmnd_Alias  SHUTDOWN = /usr/sbin/shutdown 
Cmnd_Alias  HALT = /usr/sbin/halt 
Cmnd_Alias  REBOOT = /usr/sbin/reboot 

Host_Alias  LOCALHOST = 127.0.0.1 

www-data  LOCALHOST = NOPASSWD: SHUTDOWN, HALT, REBOOT 

在PHP中您可以使用:

shell_exec("/usr/bin/sudo /usr/sbin/reboot");