Re: [心得] 如何撰寫自己的 php extension

看板PHP作者 (動物園)時間13年前 (2011/01/13 16:11), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串2/2 (看更多)
這是向原作者致敬的一篇教學文 我這邊增加另外一種常見撰寫 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

01/13 17:12, , 1F
推!
01/13 17:12, 1F

01/13 18:26, , 2F
樓上推文都不揪的啦!
01/13 18:26, 2F

01/14 10:00, , 3F
推得啦!~
01/14 10:00, 3F

01/14 23:29, , 4F
01/14 23:29, 4F
文章代碼(AID): #1DBhFBiN (PHP)
文章代碼(AID): #1DBhFBiN (PHP)