PHP ssh2 関数を処理しているときに、いくつかの場所で立ち往生しています。demo.php ファイルがあり、コードは次のようになります。
$name = "myserver.com";
function get_host_list($name)
{
$connection = ssh2_connect($name,22);
ssh2_auth_password($connection, 'root','changeme');
$sftp = ssh2_sftp($connection);
$stream = ssh2_exec($connection, 'python file.py');
stream_set_blocking($stream, true);
// Return the result and delete the files
$host_list = stream_get_contents($stream);
return $host_list;
}
echo get_host_list($name);
シェルでファイルを実行すると、すべて正常に動作します。
php demo.php
正しい結果が画面に表示されました。しかし、ブラウザでphpファイルを開こうとすると、何も表示されません。
www.path/to/the/file.demo.php
ページを開くことはできますが、何も返されません。
問題は、ページが読み込まれると、php ファイルがまだ結果を取得していないため、何も表示できないことだと思います。
解決方法がわからないので、教えてください。:(