php 扩展开发流程
新的工作日 很困!
什么是PHP扩展?
PHP扩展是一种可以通过C语言编写的动态链接库。通过编写PHP扩展,您可以扩展PHP解析器,添加自定义函数和类,以及改变PHP的行为。这使得PHP扩展在高性能、高吞吐量Web应用程序和扩展PHP的工具箱中非常有用。
编写扩展
需要使用PHP的C API来与PHP解析器交互,并使用动态链接库来创建可重复使用的二进制文件。
1、创建一个c文件
#include <php.h>
2、写一个方法
ZEND_FUNCTION(my_function){
    char *input_str;
    int input_len;
    if( zend_parse_parameters(ZEND_NUM_AGRS() TSRMLS_CC, 's', $input_str, &input_len ) == FAILURE ) {
        RETURN_NULL();
    }
    // 逻辑
    RETURN_STRINGL(input_str, input_len, 1);
}
3、为PHP方法定义参数和返回值
ZEND_BEGIN_AGR_INFO(arginfo_my_function, 0)
ZEND_AGR_INFO(0, input_str)
ZEND_END_ARG_INFO()
const zend_function_entry my_function[] = {
    ZEND_FE(my_function, arginfo_my_function)
    {NULL, NULL, NULL}
}
4、定义PHP扩展全局信息
zend_module_entry my_module_entry = {
    STANDARD_MODULE_HEADER,
    "my_function",
    my_function,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    "1.0",
    STANDARD_MODULE_PROPERTIES
};
5、编写PHP扩展初始化函数进行注册
ZEND_GET_MODULE(my_function)
PHP_MINIT_FUNCTION(my_function){
    return SUCCESS;
}
编译和安装
使用扩展
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号