ユーザ用ツール

サイト用ツール


11_php:02_framework:01_laravel:40_laravel_ssh

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
11_php:02_framework:01_laravel:40_laravel_ssh [2019/07/18 08:45] – 作成 matsui11_php:02_framework:01_laravel:40_laravel_ssh [2020/02/21 08:16] (現在) matsui
行 1: 行 1:
 ====== 40 Laravel SSH/SCP ====== ====== 40 Laravel SSH/SCP ======
 +
 +===== 設定ファイル =====
  
 <code|config/remote.php> <code|config/remote.php>
行 28: 行 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.1563439521.txt.gz · 最終更新: 2019/07/18 08:45 by matsui