2013-05-06 19 views
10

Tôi đã sử dụng các thư viện như Fabric (Python) để thực hiện các tác vụ khác nhau trên máy chủ từ xa. Khi tôi chạy tác vụ thông qua thư viện này, tôi nhận được kết quả từ máy chủ từ xa khi các hành động đang diễn ra. Ví dụ, nếu nhiệm vụ đang thực hiện một git pull trên máy chủ, tôi nhận được dòng bởi đầu ra dòng của nó khi nó xảy ra.Nhận đầu ra SSH "khi nó xảy ra" thông qua PHP?

Tuy nhiên, khi tôi xem các thư viện PHP SSH khác nhau và phần mở rộng SSH2. Nó xuất hiện chỉ có một cách để có được tất cả các đầu ra của từ lệnh sau khi nó đã xảy ra, trong một chuỗi dài. Tôi muốn được cung cấp lại đầu ra từ máy chủ từ xa khi nhiệm vụ đang chạy. Điều này có thể không? Trong giả, đây là loại gì tôi đang tìm kiếm:

Server::run('git pull origin master', function($output) 
{ 
    echo $output.PHP_EOL; 
}); 

Trả lời

10

Got làm việc này. Bạn chỉ có thể đọc luồng được trả về bởi ssh2_exec bằng cách sử dụng fgets trong một vòng lặp.

+0

Vì vậy, hãy đánh dấu câu trả lời này là câu trả lời được phê duyệt. – Tuanitim

+0

Cập nhật câu hỏi của bạn nếu bạn có thể. – Banago

Các vấn đề liên quan