-1

このスクリプトの引用符をエスケープするのに助けが必要です。上と下にコードがありますが、screen -d -m -S minecraftを発行するだけで、1つの罰金が作成されるため、これには関係ありません。私は今1時間試しているので、どんな助けも素晴らしいでしょう、ありがとう!

 if (!($stream = ssh2_exec($con, 'screen -d -m -S minecraft -p 0 -X stuff "\printf "\say This is a test.\r"\"\' ))) {
        echo "fail: unable to execute command\n";
    } else {
        // collect returning data from command
        stream_set_blocking($stream, true);
        $data = "";
        while ($buf = fread($stream,4096)) {
            $data .= $buf;
        }
        echo $data;
        fclose($stream);
    }
4

2 に答える 2

1

\の前に行くべきではありません"。また、あなたの説明から、「screen -d -m -S minecraft」だけを実行したいようで、そこに余分なprintfがあるように見えます。

if (!($stream = ssh2_exec($con, "screen -d -m -S minecraft")))

http://php.net/manual/en/language.types.string.php

于 2012-04-19T01:53:06.197 に答える
0

"\に変更するだけです\"

于 2012-04-19T01:56:58.970 に答える