お世話になります。
###前提・実現したいこと
Laravel5.2でSFTP送信を行いたいのですが、成否結果を取得する方法がわからず、ご教示いただけませんでしょうか。
###発生している問題・エラーメッセージ
何らかの要因(リモートパスの指定が不正など)ファイルが送信できていない場合に、結果を補足したいのですが、検知できていません。
###該当のソースコード
- Laravelのタスクスケジュールを使用しています。
- 正しいパスを指定し通信も問題ない場合、下記ソースで成功しています。
下記サイトを参考にして実装しました。
http://qiita.com/zaburo/items/db0569fc87ce64490551
https://laravelcollective.com/docs/5.2/ssh
/app/Console/Commands/HogeFileSender.php
php
1function execute() { 2 $localPath = 対象ファイルのローカル絶対パス; 3 $remotePath =送信先の相対パス; 4 //ここでremote.phpのhoge設定を元に、ローカルからリモートにSFTPファイル送信実行 5 SSH::into ( 'hoge' )->put ( $localPath, $remotePath ); 6}
/config/app.php
php
1<?php 2 3return [ 4(略) 5 'aliases' => [ 6(略) 7 'SSH' => Collective\Remote\RemoteFacade::class, 8 ], 9 10];
/app/remote.php
php
1<?php 2 3return [ 4 5 'default' => 'hoge', 6 7 'connections' => [ 8 'hoge' => [ 9 'host' => env('LOG_SFTP_HOST'), 10 'username' => env('LOG_SFTP_USER'), 11 'password' => env('LOG_SFTP_PASSWD'), 12 'key' => '', 13 'keytext' => '', 14 'keyphrase' => '', 15 'agent' => '', 16 'timeout' => 10, 17 ], 18 ], 19 20 'groups' => [ 21 'web' => ['hoge'], 22 ], 23 24];
###試したこと
- try〜catchで囲みましたが、Exception等発生しませんでした。
$result = SSH::into ( 'hoge' )->put(...)
のように戻り値を取得してみましたが成功失敗に関わらず常にfalseになりました。
###補足情報(言語/FW/ツール等のバージョンなど)
- Laravel Framework version 5.2.35
- PHP 7.0.7 (cli) (built: May 25 2016 18:36:46)
- nginx version: nginx/1.10.1
- さくらVPS(CentOS release 6.8 (Final) )
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。