Re: [心得] 如何撰寫自己的 php extension
這是向原作者致敬的一篇教學文
我這邊增加另外一種常見撰寫 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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):