您的位置:首页 > 编程语言 > PHP开发

php C extension扩展

2016-08-02 00:00 274 查看
1,C源码

#include "php.h"

ZEND_FUNCTION(hello);
zend_function_entry hellomodule_functions[] =
{
ZEND_FE(hello, NULL)
{NULL, NULL, NULL}
};
zend_module_entry hellomodule_module_entry =
{
STANDARD_MODULE_HEADER,
"Hello Module",
hellomodule_functions,
NULL,
NULL,
NULL,
NULL,
NULL,
NO_VERSION_YET,
STANDARD_MODULE_PROPERTIES
};

#if COMPILE_DL_FIRST_MODULE
ZEND_GET_MODULE(hellomodule)
#endif

ZEND_FUNCTION(hello)
{
RETURN_STRING("HELLO WORLD",1);
}


2,makefile

HOM_PHP=/opt/TrendMicro/MinorityReport/php/include/php
PHP_INC=-I$(HOM_PHP) -I$(HOM_PHP)/include  -I$(HOM_PHP)/Zend -I$(HOM_PHP)/TSRM -I$(HOM_PHP)/main

CFLAG=-fpic -DCOMPILE_DL_FIRST_MODULE=1 -Wall
LFLAG = -shared

all:
gcc $(CFLAG) $(PHP_INC) -c -o hello.o hello.c
gcc $(LFLAG) -o hello.so hello.o
clean:
rm -rf *.o *.so


3,配置

mv hello.so php/ext

添加 extension=hello.so 到php.ini中

4,,验证

php -r 'echo hello();‘

参考:


PHP扩展开发及内核应用


Introduction to PHP and Zend


寫一個Hello World的PHP Extension
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: