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();
}
?>