我嘗試在我的php代碼(Joomla模塊)中運行passthru函數時出現問題。代碼如下(這只是一個片段)服務器上的passthru問題
ob_start();
passthru("/usr/bin/whois 85.70.231.130 | /usr/bin/grep 'address:'",$code);
$whoisData = ob_get_contents();
ob_end_clean();
$whoisData = str_replace("address:", "", $whoisData);
$whoisArray = split("\n",$whoisData);
echo trim($whoisArray[1]);
,當我在我的本地運行它,它呼應它應該是什麼,但是當我運行在生產服務器上的代碼,它呼應沒有和$代碼變量包含127(找不到命令)。我嘗試將這些命令的絕對路徑添加到passthru函數中,但它沒有幫助。有趣的是,當我通過ssh和php命令從終端運行代碼時,它運行良好,但是當它從應用程序上下文調用時,它不會。有誰知道我應該怎麼辦?謝謝
部分編輯.. safe_mode設置爲on Web服務器沒有看到到/ usr/bin和/斌/文件夾等什麼是如何運行從PHP這些命令的最佳方式?
哎喲,我編輯了我在這裏發佈的代碼,該代碼片段來自我的小測試文件,其中不是最新的,但是在我測試它的生產服務器上,是否可以..所以,謝謝,這不是重點:)我會編輯帖子。 – simekadam 2011-04-06 11:31:39