ユーザ用ツール

サイト用ツール


11_php:02_framework:01_laravel:40_laravel_ssh

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
11_php:02_framework:01_laravel:40_laravel_ssh [2019/07/18 17:45]
matsui
11_php:02_framework:01_laravel:40_laravel_ssh [2020/02/21 17:16] (現在)
matsui
ライン 30: ライン 30:
 </​code>​ </​code>​
  
 +===== 標準出力を変数に入れる方法 =====
 +
 +[[https://​qiita.com/​tricogimmick/​items/​3e344486658e3cfbd407|クロージャー]]
 +
 +標準出力に規定のバイト数以上の出力が格納される場合、クロージャ内の処理が複数回実行されてしまう罠もあるらしい
 +[[https://​sharediary.net/​2019/​05/​11/​sshruncommand-functionoutput%E3%81%AE%E7%BD%A0/​]]
 +
 +これだとクロージャー内なので、$outputには何も入りません。
 +<​code>​
 +$output = ''​
 +\SSH::​into('​production'​)->​run(array(
 +    '​hostname',​
 +    '​uptime',​
 +),​function($line){
 +    $output .= $line;
 +}); 
 +</​code>​
 +
 +==== 対策 ====
 +
 +下記のようにuseで変数を使うと、標準出力を変数に入れる事ができます。
 +
 +<​code>​
 +$output = ''​
 +\SSH::​into('​production'​)->​run(array(
 +    '​hostname',​
 +    '​uptime',​
 +),​function($line) use(&​$output){
 +    $output .= $line;
 +}); 
 +</​code>​
  
 {{tag>​Laravel}} {{tag>​Laravel}}
11_php/02_framework/01_laravel/40_laravel_ssh.1563439537.txt.gz · 最終更新: 2019/07/18 17:45 by matsui

Yesterday:228 Today:256 Total:04689