簡體   English   中英

在另一個Lagnauge中調用函數

[英]Calling a function in another lagnauge

我用php編寫了一個程序,幾乎可以完成它需要做的所有事情,但是有一點我需要使用使用機械化庫以python編寫的函數,這兩個腳本都將托管在同一台服務器上。

我最初的想法是進行一個CURL調用,其中包含從php腳本到python腳本的所有參數,然后使用CURL將函數的結果再次返回到php腳本。

我是編程新手,不確定執行此類操作時的最佳慣例,我使用CURL的設置工作流程是通常的操作方式還是其他方法?

如果您需要能夠獨立分發PHP代碼和Python代碼,將它們部署在單獨的服務器上,等等,那么這是合理的-您可以將Python代碼作為Web服務,使PHP代碼調用該Web服務,然后你完成了。


但是,如果Python腳本總是要在本地運行,通常將其作為程序運行會更容易-將命令行參數和/或標准輸入傳遞給它,並檢索其標准輸出。 PHP有幾個不同的方法可以做到這- systempopenexecpassthru哪位都有不同的上漲空間和缺點。

例如,使用exec ,您只需在每個參數上調用escapeshellarg ,將它們與腳本路徑一起放入一個用空格分隔的字符串中,調用exec ,然后將結果返回。

如果腳本位於同一服務器上,則始終可以在php( http://php.net/function.exec )中使用exec函數。

但是請確保您知道自己在做什么 ,因為如果使用錯誤的方法,該功能將很強大並且可能會令人討厭。

我不知道這有多好( 我還沒有親自嘗試過 ),但是您總是可以嘗試一下:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM