2010-03-19 44 views
17

我們在客戶機器上運行PHP Web應用程序。對於更新,我們在C中有一些代碼,我們希望將其作爲本地不透明庫與PHP Web應用程序一起包含。從PHP調用C/C++庫功能

如何去調用一個C/C++庫。函數從PHP?

不能假定由web服務器調用的PHP應用程序具有任何類型的權限來調用exec(),eval()或system()類型的函數來執行C封裝器驅動程序,該封裝器驅動程序在使用C/C++庫,所以它需要從PHP代碼中直接使用C庫。

回答

7

由聖約翰·約翰遜的答案是正確的。但是你現在也可以使用php-cpp庫。它提供了一個在PHP和C++之間更容易的橋樑。有關更多信息,請參見http://www.php-cpp.com

+10

嗨!你必須透露這是你的圖書館。 http://meta.stackexchange.com/a/59302/155739請仔細閱讀本網站的常見問題。 – 2014-12-06 22:27:05

1

您可以編譯您的代碼並使用system,shell_exec或passthru函數來處理輸出。大多數網絡主機允許您編譯C++代碼,只需ssh到您的服務器,上傳代碼並編譯它。

1

另一種選擇是讓C代碼作爲一個守護進程,始終運行,和PHP腳本連接到它throught UNIX域套接字或一些現有的庫進行數據交換。

更多信息here