linux 第一个php扩展 hello world,如何在Linux GCC上用C构建我的第一个PHP扩展?

小编典典

此示例的扩展名。

function hello_world() {

return 'Hello World';

}

?>

config.m4

PHP_ARG_ENABLE(hello, whether to enable Hello

World support,

[ --enable-hello Enable Hello World support])

if test "$PHP_HELLO" = "yes"; then

AC_DEFINE(HAVE_HELLO, 1, [Whether you have Hello World])

PHP_NEW_EXTENSION(hello, hello.c, $ext_shared)

fi

php_hello.h

#ifndef PHP_HELLO_H

#define PHP_HELLO_H 1

#define PHP_HELLO_WORLD_VERSION "1.0"

#define PHP_HELLO_WORLD_EXTNAME "hello"

PHP_FUNCTION(hello_world);

extern zend_module_entry hello_module_entry;

#define phpext_hello_ptr &hello_module_entry

#endif

#### 你好ç

#ifdef HAVE_CONFIG_H

#include "config.h"

#endif

#include "php.h"

#include "php_hello.h"

static function_entry hello_functions[] = {

PHP_FE(hello_world, NULL)

{NULL, NULL, NULL}

};

zend_module_entry hello_module_entry = {

#if ZEND_MODULE_API_NO >= 20010901

STANDARD_MODULE_HEADER,

#endif

PHP_HELLO_WORLD_EXTNAME,

hello_functions,

NULL,

NULL,

NULL,

NULL,

NULL,

#if ZEND_MODULE_API_NO >= 20010901

PHP_HELLO_WORLD_VERSION,

#endif

STANDARD_MODULE_PROPERTIES

};

#ifdef COMPILE_DL_HELLO

ZEND_GET_MODULE(hello)

#endif

PHP_FUNCTION(hello_world)

{

RETURN_STRING("Hello World", 1);

}

构建扩展 $ phpize $ ./configure –enable-hello $ make

运行完这些命令后,您应该有一个hello.so

将extension = hello.so扩展到您的php.ini以触发它。

php -r 'echo hello_world();'

你完成了。;-)

在这里阅读更多

一种简单的方法,只需尝试使用zephir-lang即可以更少的知识来构建php扩展

namespace Test;

/**

* This is a sample class

*/

class Hello

{

/**

* This is a sample method

*/

public function say()

{

echo "Hello World!";

}

}

使用zephir进行编译并获得测试扩展

2020-06-07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值