0

UNIXサーバーに接続し、スクリプトがhtmlフォームから取得する引数を使用してシェルスクリプトを実行するphpスクリプトがあります。これをcliで実行すると、出力は問題ありませんが、Webフォームを介して実行すると、出力は1行になります

スクリプト:

    <?php


$alarm = $_POST["fname"];

require_once "PHPTelnet.php";

$telnet = new PHPTelnet();

 // if the first argument to Connect is blank,
// PHPTelnet will connect to the local host via 127.0.0.1
$result = $telnet->Connect('host','user','pass');

if ($result == 0) {
$telnet->DoCommand('/home/scripts/find_alarm.sh', $result);
// NOTE: $result may contain newlines
echo "<pre>";
echo $result;
//ob_flush();
echo "</pre>";
$telnet->DoCommand("$alarm", $result);
echo "<pre>";
echo $result;
echo "</pre>";
sleep(10);
$telnet->DoCommand('exit', $result);
echo $result;
// say Disconnect(0); to break the connection without explicitly logging out
//$telnet->Disconnect();
}
?>
4

1 に答える 1

1

あなたがこれを使用している場合: http://www.geckotribe.com/php-telnet/ その後、私はそれを使用するのをやめるか、変更します。得られる結果は preg_replace("/^.*?\n(.*)\n[^\n]*$/","$1",$r);、DoCommand() でこの正規表現を介して渡されます。新しい行を削除します。なぜ、私は言うことができません。

于 2013-06-09T08:32:29.373 に答える