2010-09-19 91 views

回答

1

如果你的意思是「遠程計算機」,如「不是客戶端計算機」,答案是一個不合格的肯定;通過PHP的exec函數運行的命令將在Web服務器上執行。

如果你的意思是「不是網絡服務器」,那麼答案是有點懦弱的。您只能在運行PHP的服務器上執行命令直接。但是,這些命令可以通過SSH等機制在遠程計算機上運行其他命令。因此,例如,如果您的Web服務器對遠程機器有無密碼的ssh訪問權限(一個非常糟糕的主意),這將工作:exec('ssh otherhost someremotecommand');。什麼解決方案適合你取決於你想要的用法。

0

是的,沒有必要改變任何代碼來這樣做。但是,如果您的服務器將PHP置於安全模式(較低的共享主機計劃經常這樣做),您可能無法執行此操作。

提示:您可以使用這個速記得到命令的輸出:

$output = `command here` 
1

我知道這個問題是很老,但對這一問題的觀衆。

您也可以使用ssh2_exec。 http://php.net/manual/en/function.ssh2-exec.php

<?php 

$ip = 'ip_address'; 
$user = 'username'; 
$pass = 'password'; 

$connection = ssh2_connect($ip); 
ssh2_auth_password($connection,$user,$pass); 
$shell = ssh2_shell($connection,"bash"); 

?> 
相關問題