2013-02-23 76 views
1

我有一個非常簡單的PHP腳本來嘗試使用exec命令。該代碼是爲什麼PHP exec()命令不能運行?

<?php 
// outputs the username that owns the running php/httpd process 
// (on a system with the "whoami" executable in the path) 
echo("test<br>"); 
echo exec('whoami'); 
echo("test"); 
?> 

然而,當我訪問該網頁,它只是打印出:

test 
test 

它不會從「WHOAMI」命令,從命令行運行時打印輸出顯示

me 

這裏有什麼問題?我無法解決這個問題。

非常感謝!

+0

是否有一個名爲'whoami'的可執行文件? – Ronnie 2013-02-23 02:16:28

回答

0

(具有在路徑中的「WHOAMI」可執行的系統上)

PATH,像所有的環境變量,是不是全系統的,但最終每個進程

也就是說,雖然典型的bash會話可能包含此可執行文件在PATH中的路徑,但您的PHP腳本運行的環境(例如Apache CGI上下文)不會。這可能是出於任何原因。

改爲提供到whoami的絕對路徑。

+0

什麼是特定於tty的? – Starx 2013-02-23 02:19:18

+0

@Starx:特定於一個_tty_或「終端」。一個終端可以是一個shell會話,或者一個RS232管理端口上的提示符,或者一個shell進程分叉掉所有守護進程被調用的root tty。還有其他的例子。 – 2013-02-23 02:19:47

+0

哈哈tty是什麼意思? http://www.abouttty.com/ – 2013-02-23 02:20:32

相關問題