SSH ( คลาสทที่ใช้จัดการ ftp และ git)
<a name="configuration"></a> ## การตั้งค่า
ไปที่ไฟล์ app/config/remote.php, เราต้องตั้งค่าอาเรย์ connections ซึ่งใช้กำหนดค่าต่างๆ ในการเชื่อมต่อ connections
<a name="basic-usage"></a> ## การใช้งานเบื้องต้น
เรียกใช้
เราใช้เมทอด SSH::run เบื้องต้น
1 SSH::run(array(
2 'cd /var/www',
3 'git pull origin master',
4 ));
เรียกใช้พร้อมกับใช้คำสั่งเพิ่มเติม
เราจะใช้เมทอด into เพื่อเรียกใช้คำสั่ง stagging ของ git:
1 SSH::into('staging')->run(array(
2 'cd /var/www',
3 'git pull origin master',
4 ));
แคชผลของคำสัั่งเพื่อความรวดเร็ว
ใช้เมทอด run แล้วใส่ฟังก์ชันเข้าไป:
1 SSH::run($commands, function($line)
2 {
3 echo $line.PHP_EOL;
4 });
<br /><br />
## Tasks
<a name="tasks"></a>
ถ้าเราต้องการใช้คำสั่งทีละหลายๆ ตัว สามารถทำได้โดยใช้เมทอด define เช่น ในตัวอย่างเราตั้งชื่อ ชุดคำสั่งว่า deploy :
1 SSH::into('staging')->define('deploy', array(
2 'cd /var/www',
3 'git pull origin master',
4 'php artisan migrate',
5 ));
ข้างบนเป็นการประกาศ ข้างล่างเป็นการเรียกใช้ครับ
1 SSH::into('staging')->task('deploy', function($line)
2 {
3 echo $line.PHP_EOL;
4 });
<a name="sftp-downlaods"></a> ## SFTP Downloads
การดาวน์โหลดไฟล์นั้น จะใช้เมทอด get ในแล้วใส้ที่อยู่บน FTP กับ บนเครื่องของเราไป
1 SSH::into('staging')->get($remotePath, $localPath);
2
3 $contents = SSH::into('staging')->getString($remotePath);
<a name="sftp-uploads"></a> ## SFTP Uploads
ส่วนการอัพโหลดไฟล์นั้น ใช้เมทอด putในการอัพโหลด และ putString ในการกำหนดที่อยู่
1 SSH::into('staging')->put($localFile, $remotePath);
2
3 SSH::into('staging')->putString($remotePath, 'Foo');
<br /><br /><br /><br /> <a name="tailing-remote-logs"></a> ## Tailing Remote Logs
คือการดาวน์โหลดไฟล์ laravel.log ซึ่งเป็นไฟล์ log นั้นเอง ข้างล่างเป็น ตัวอย่างการใช้งานครับ
1 php artisan tail staging
2
3 php artisan tail staging --path=/path/to/log.file