2009-12-14 51 views
1

我正在嘗試編寫一個將PHP作爲腳本語言的應用程序。該應用程序是一個CGI處理程序,我希望能夠從中調用PHP頁面。從C調用PHP

我在尋找能讓我在C程序裏面初始化PHP的代碼,然後將它傳遞給包含php代碼的緩衝區或文件名以供它解析。我想從中獲取輸出,並能夠通過CGI程序中的函數來運行它。

+0

A請注意,我不能使用system()調用,因爲我希望爲PHP提供訪問C程序內使用的變量的權限。還有另一種語言也在使用,我需要能夠在它們之間共享變量。我有一個橋讓C能夠訪問其他語言的變量,我只需要弄清楚如何嵌入php。 – 2009-12-14 18:06:18

回答

4

本書Extending and Embedding PHP薩拉Golemon amazon有一個關於在C PROGRAMM,這可能會令您感興趣嵌入PHP章。

如果您想要預覽,例如我記得有些頁面可以在Google圖書上顯示。


這裏有一個快速的報價(從第20章的開頭)

除了加載外部 腳本,你在最後 章中看到,你的PHP嵌入 應用也可以使用 底層函數執行較小的 任意代碼片段,該函數實現了 熟悉的用戶空間eval() 命令。

+0

我沒有付諸實踐,但它是一本有趣的讀物:-) – 2009-12-14 19:19:56

2

試試PHPEmbed庫。它適用於C++而不是C,但它可能仍適用於您,具體取決於項目要求。

+0

良好的聯繫。它不適合我,但我可以用它來看看如何編寫我需要的代碼。謝謝。 – 2009-12-14 18:34:18

+1

現在鏈接已死。 – razzed 2014-02-26 21:03:05

2

我會檢查他們是如何實現php命令行二進制文件的。它似乎主要功能在php_cli.c

它叫php_execute_scrip和一堆看起來很有前途的其他功能。