好吧我需要運行我的Apache Web服務器爲根。爲此,我輸入了whoami;在終端。它給我輸出:根。但是,當我檢查我的Apache服務器作爲root用戶運行或不執行以下php腳本:<?php echo whoami; ?>它給我輸出:沒有人。因此,任何建議執行/登錄爲apache的根用戶?Apache作爲Ubuntu的根目錄
回答
如果你知道你在做什麼,看看文件的/ etc/apache2的/ envvars中:
您可以自定義這些變量
export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root
沒有重新編譯Apache就無法工作 – David 2013-01-03 02:43:11
我建議創建一個外部的PHP文件您的服務器將處理與此擴展相關的所有內容。然後,您可以將shell_exec
與sudo
結合起來調用此腳本。
這樣,你可以把你的web服務器用戶放在你的sudoers文件中,讓它以root身份運行php-cli。
然後,在你的腳本,你可以簡單地使用:
$output = shell_exec("sudo /bin/php /yourscript.php");
這將是一個更安全的解決方案比運行Apache的根,這在我看來,是一個檸壞主意,即使你知道你在做什麼。
對1M用戶來說會更快嗎? – 2013-05-20 04:36:44
在最初的問題中,表現不是問題。就像我說的,這是一個非常糟糕的做法,我不會太依賴它。因人而異。 – 2013-05-21 12:37:52
我以root身份迴應了運行apache進程的擔憂。這只是一個壞主意。 這就是爲什麼我最近發佈了一個項目,允許PHP獲得並與真正的Bash shell進行交互。在這裏獲得:https://github.com/merlinthemagic/MTS
下載您只需使用下面的代碼後:
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1 = $shell->exeCmd('php /var/scripts/test.php');
//the return will be a string containing the return of the script
echo $return1;
- 1. 將子目錄作爲apache的根目錄處理
- 2. 在子目錄中使用文件作爲Apache的根路徑
- 3. Apache的根目錄相對鏈接
- 4. 的Apache,根,子域和子目錄
- 5. 根目錄的Apache .htaccess變量?
- 6. 更改apache中的web根目錄(xampp)
- 7. Apache 2的默認文檔根目錄將不會改變(Ubuntu的)
- 8. 如何將Apache文檔根目錄指向Ubuntu中的特定文件夾?
- 9. 在Apache的文檔根目錄下工作
- 10. Apache .htaccess將目錄重寫爲目錄
- 11. 如何使用Dropbox文件夾作爲Apache的文檔根目錄
- 12. 如何將文件夾名稱更改爲Ubuntu根目錄
- 13. Apache mod_rewrite - 將域根目錄轉移到子目錄
- 14. 使用特定目錄作爲根目錄壓縮目錄的命令
- 15. Jenkins用戶擁有根目錄作爲主目錄
- 16. .htaccess文件將子目錄作爲根目錄
- 17. Apache vhost解析爲localhost文件根目錄
- 18. Apache 2的安裝目錄/ Ubuntu的13.04 - 包沒有找到
- 19. EGit工作/根目錄
- 20. 作爲靜態文件的根的項目子目錄
- 21. Apache Buildr - 將項目解壓縮到項目根目錄
- 22. Apache配置 - 指向Ubuntu中的目錄14.04
- 23. Htpasswd也爲根目錄
- 24. python不工作在ubuntu主目錄
- 25. htaccess將根目錄更改爲子目錄,但只允許根目錄url
- 26. Apache本地根目錄在本地主機上的開發目錄
- 27. Apache 403在根目錄之外配置目錄時出現禁止的錯誤
- 28. 將應用添加到Ubuntu的根目錄自動運行
- 29. Linux的Ubuntu目錄root?家?
- 30. 使用JBoss Cache作爲Apache Lucene的目錄
爲什麼要那樣做ಠ_ಠ – 2012-03-26 14:10:53
因爲我在Xen上virtualization.I工作正在使用的libvirt-PHP與管理程序交談開始創建銷燬等等等等。爲此,我使用了這個php腳本:<?php $ conn = libvirt_connect(「xen:///」); $ name = libvirt_domain_lookup_by_id($ conn,3); $ dest = libvirt_domain_destroy($ name); echo $ dest; ? \t > 當我執行這一點,顯示我:警告:libvirt_domain_destroy()[function.libvirt域滅]:操作virDomainDestroy禁止在/opt/lampp/htdocs/xampp/shutdown.php只讀訪問在線5 – Alee 2012-03-26 14:14:19
我不認爲你需要以root身份運行Apache/PHP才能連接到libvirt。連接時只需提供適當的憑據。 – Brian 2012-03-26 14:26:49