現在我使用exec()從PHP啓動Python腳本,因爲我必須將一些動態變量從網站/ MySQL傳遞到命令行。不過,我想提高這個操作的速度和安全性,所以我想使用WSGI。我在想,可能會將Python腳本嵌入到WSGI文件中,該文件將使用PHP直接(或間接)傳遞的變量......但我怎麼能這樣做呢?我從來沒有用過WSGI,所以我甚至不知道這是否是一個愚蠢的問題:)如何通過使用WSGI執行Python腳本來避免PHP exec()?
3
A
回答
1
首先,你可以在Python或PHP中做到這一切嗎?使用多種語言通常被視爲反模式。這並不是說這總是一個糟糕的主意,但是你應該首先質疑,爲什麼只有這樣,如果你確信這是一個好主意,才能繼續前進。
至於你想做什麼細節,有幾個選項:
如果使用Apache,您可以使用
virtual()
函數發出通過Apache新的請求。這是假設你正在使用mod_php和mod_wsgi。基本上,你建立你要傳遞的變量的查詢字符串,並將其命名爲喜歡:
virtual('path/to/python.py?'.$query);
寫自己的PHP WSGI網關。基本上,將WSGI規範編碼到一個庫中,並從PHP內部明確地調用該WSGI規範。
堅持呼籲它從
exec()
(這可能是現在的最佳選擇)。
你必須考慮的是,跨語言之間包含固有的開銷。你永遠無法克服,這只是野獸的本質。相反,我建議將整個請求保留在一個環境中,並在整個環境中處理它...
相關問題
- 1. 通過PHP執行腳本
- 2. 如何通過Ruby腳本避免EOFError?
- 3. PHP腳本執行exec
- 4. 使用PHP運行Python腳本exec()
- 5. 如何通過python執行shell腳本
- 6. 如何使用python漂白庫來避免腳本注入?
- 7. 執行通過PHP的exec一個腳本,創建服務器
- 8. php無法通過exec執行perl腳本
- 9. 如何使用IronPython執行大量腳本並避免ipy.exe的啓動成本?
- 10. 如何避免通過長時間輸出Vim腳本來手動滾動以自動執行腳本?
- 11. 如何通過使用css轉換來避免文本混亂
- 12. 通過PHP執行.sh腳本
- 13. 拆分PHP腳本來避免超時
- 14. 如何通過在另一個PHP腳本上調用我的PHP腳本來執行我的PHP腳本?
- 15. 如何使一個bash腳本通過nginx的/ PHP執行
- 16. 使用exec通過PHP運行JAR時避免JVM啓動延遲
- 17. Maven exec插件 - 執行python腳本
- 18. 從PHP執行Python腳本
- 19. PHP懸而執行exec()bash腳本
- 20. 無法使用php exec()(在magento中)執行PHP腳本
- 21. 如何讓bash腳本使用特定的python版本來執行python腳本?
- 22. 使用PHP變量執行Python腳本
- 23. 通過PHP執行Selenium webdriver exec()
- 24. Salesforce:通過Apex類執行python腳本
- 25. 通過SSH執行遠程python腳本
- 26. 通過nodejs執行python腳本
- 27. 在另一個php腳本中使用exec()函數執行php腳本
- 28. 使用websocket時無法通過java執行python腳本
- 29. 用python腳本打開webbrowser,執行php
- 30. 無法通過CURL執行php腳本
您是否有權訪問Apache配置(或您正在使用的Web服務器)? – MeanEYE 2011-02-04 14:02:32
是的,我在我自己的專用服務器上安裝了Apache。 – Jon 2011-02-04 15:34:47