[英]Calling a function in another lagnauge
我用php編寫了一個程序,幾乎可以完成它需要做的所有事情,但是有一點我需要使用使用機械化庫以python編寫的函數,這兩個腳本都將托管在同一台服務器上。
我最初的想法是進行一個CURL
調用,其中包含從php腳本到python腳本的所有參數,然后使用CURL
將函數的結果再次返回到php腳本。
我是編程新手,不確定執行此類操作時的最佳慣例,我使用CURL
的設置工作流程是通常的操作方式還是其他方法?
如果您需要能夠獨立分發PHP代碼和Python代碼,將它們部署在單獨的服務器上,等等,那么這是合理的-您可以將Python代碼作為Web服務,使PHP代碼調用該Web服務,然后你完成了。
但是,如果Python腳本總是要在本地運行,通常將其作為程序運行會更容易-將命令行參數和/或標准輸入傳遞給它,並檢索其標准輸出。 PHP有幾個不同的方法可以做到這- system
, popen
, exec
, passthru
哪位都有不同的上漲空間和缺點。
例如,使用exec
,您只需在每個參數上調用escapeshellarg
,將它們與腳本路徑一起放入一個用空格分隔的字符串中,調用exec
,然后將結果返回。
如果腳本位於同一服務器上,則始終可以在php( http://php.net/function.exec )中使用exec
函數。
但是請確保您知道自己在做什么 ,因為如果使用錯誤的方法,該功能將很強大並且可能會令人討厭。
我不知道這有多好( 我還沒有親自嘗試過 ),但是您總是可以嘗試一下:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.