2009-07-09 53 views
5

Làm cách nào để tạo tập lệnh php chạy python (cục bộ) trên máy chủ từ xa?Chạy tập lệnh php (từ xa) từ tập lệnh python (cục bộ)

Tôi không muốn xử lý đầu ra của nó bằng tập lệnh python hoặc bất cứ thứ gì, chỉ cần thực thi nó và đồng thời bỏ python (trong khi php script sẽ hoạt động và thực hiện công việc của nó).

chỉnh sửa: Những gì tôi đang cố gắng để đạt được:

  • python script kết nối với ftp server và tải lên php script (Tôi đã có phần này của code)
  • nó chạy php script (đó là một phần mã tôi đang hỏi)
  • tập lệnh python tiếp tục thực hiện điều gì đó khác
  • thoát tập lệnh python (nhưng có lẽ tập lệnh php vẫn chưa hoàn thành công việc của nó nên tôi không muốn nó kết thúc khi nó thoát python)
  • python script bỏ, php script vẫn tiếp tục nhiệm vụ của mình

(Tôi không kế hoạch để làm bất cứ điều gì với sản lượng php trong python - python chỉ có upload php kịch bản và làm cho nó bắt đầu làm việc)

Hy vọng tôi rõ ràng hơn bây giờ. Xin lỗi nếu câu hỏi của tôi không đủ cụ thể.

chỉnh sửa khác: Cũng xin lưu ý rằng tôi không có quyền truy cập hệ vỏ trên máy chủ từ xa. Tôi chỉ có ftp và bảng điều khiển (cPanel); cố gắng sử dụng ftp cho nó.

+0

tôi không muốn bao gồm nó và sử dụng đầu ra của nó, tôi muốn làm tương đương với những gì xảy ra khi người dùng nhập địa chỉ của tập lệnh php trong trình duyệt – Phil

+0

@Phil, vui lòng cập nhật câu hỏi của bạn để giải thích đầy đủ hơn. Nhận xét này hầu như không có ý nghĩa. Python không phải là một trình duyệt và sẽ không hiển thị HTML theo cách mà trình duyệt sẽ làm. Vui lòng cung cấp một số giải thích chi tiết hơn về những gì bạn muốn xảy ra. –

+0

ok, tôi đã chỉnh sửa nó. tôi không muốn làm gì cả. Tôi không chắc chắn nếu tôi đang tiếp cận vấn đề một cách chính xác, nhưng tôi đã viết danh sách những gì tôi muốn xảy ra - nếu tôi có thể đạt được nó một cách khác nhau cảm thấy tự do để bình luận. – Phil

Trả lời

4

Nếu python là trên một máy vật lý khác nhau hơn so với kịch bản PHP, tôi muốn chắc chắn rằng kịch bản PHP là truy cập web và sử dụng urllib2 gọi để url

import urllib2 

urllib2.urlopen("http://remotehost.com/myscript.php") 
+0

Cuối cùng một cái gì đó hữu ích! Sẽ phải kiểm tra xem nó có hoạt động không, nhưng nếu nó hoạt động thì đó chính là điều tôi muốn làm. Cảm ơn bạn. – Phil

5
os.system("php yourscript.php") 

Một lựa chọn khác sẽ là:

# will return new process' id 
os.spawnl(os.P_NOWAIT, "php yourscript.php") 

Bạn có thể kiểm tra tất cả các tài liệu mô-đun os here.

+0

ok, điều này sẽ giết script php của tôi nếu tôi sẽ bỏ python trong khi php script vẫn đang chạy? – Phil

+0

Tại sao tôi cần nhập 15 ký tự khi câu trả lời đúng là "có"? :-) Vì vậy: Có, nó sẽ. –

+0

ok ... xem câu hỏi của tôi chỉnh sửa - Tôi đang tìm kiếm một cái gì đó sẽ cho phép php script tiếp tục nhiệm vụ của nó ngay cả khi python sẽ kết thúc – Phil

0

Tôi sẽ diễn giải câu trả lời thành How do I include a PHP script in Python?.

import subprocess 

def php(script_path): 
    p = subprocess.Popen(['php', script_path]) 
+0

Cảm ơn. Xin lỗi cho câu hỏi noob, nhưng vì nó là trên máy chủ từ xa làm thế nào để tôi xác định đường dẫn? Nó có thể là url? Ngoài ra, sẽ php script tiếp tục làm việc ngay cả khi python sẽ bỏ thuốc lá? – Phil

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