看板 PHP 關於我們 聯絡資訊
這是向原作者致敬的一篇教學文 我這邊增加另外一種常見撰寫 extension 的方法 "整合已有的 c++ lib 進 php 的 extension" 因為我的 code 蠻龐大的,我擷取其中一些有變動的 code ------------------------------------------------------ 應該已經有的或過程中可能需要參考的東西 1. config.m4 http://tinyurl.com/4czg383 2. 要整合的 lib 和 include 3. 之前 sample 中給 php 看的 mm.h , mm.cc ------------------------------------------------------- 1. 在你的 config.m4 裡面加上 PHP_ADD_INCLUDE(你 lib include 的位址) PHP_REQUIRE_CXX() PHP_SUBST(PP_SHARED_LIBADD) -> 填入你 module 的名稱,例如 PP_SHARED_LIBADD PHP_ADD_LIBRARY(stdc++, 1, PP_SHARED_LIBADD) -> STDC++ 加入 PHP_ADD_LIBRARY(要整合 lib 加入, 1, PP_SHARED_LIBADD) PHP_NEW_EXTENSION(mm, mm.cc, $ext_shared) 2. 依照順序在 mm.cc 中加入 a. #include "建議是絕對路徑" b. PHP_METHOD(class名稱, function名稱) { 你的 code; } c. 在 function_entry 裡面加入 PHP_ME(你class名稱, function名稱, NULL, ZEND_ACC_PUBLIC) 3. ./configure make sudo make install 4. php.ini 加入該 extension restart apache ------------------------------------------------ 重點應該就是以上這些,需要完整範例的請看 http://tinyurl.com/dgm6dt 雖然上面是自己寫一個 c++ class,但其實整合進別的 library 也可以 如果還有疑問,歡迎線上敲我 XD 我會的會盡量回答 ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.22.252
chrisQQ:推! 01/13 17:12
LewisHamiltn:樓上推文都不揪的啦! 01/13 18:26
kylekai:推得啦!~ 01/14 10:00
appleboy46:推 01/14 23:29