php擴展開發 <一>

先從簡單入手,找點感受php

一、計劃編寫個函數相似(基本不可能會用上,練練沒辦法)vim

    

function htest($str)
{
    return $str . '==';
}

二、準備好php安裝包,本文使用的php5.5.8函數

三、編寫原型文件 htestproto.def測試

string htest(string str)

四、進入php源碼包 ext目錄, 執行spa

./ext_skel --extname=htest --proto=htestproto.def

五、vim htest/config.m4, 去除10-12 行dnlcode

 10  PHP_ARG_WITH(htest, for htest support,
 11  Make sure that the comment is aligned:
 12  [  --with-htest             Include htest support])

六、vim htest/htest.c 實現函數    原型

PHP_FUNCTION(htest)
{
        char *str = NULL;
        int argc = ZEND_NUM_ARGS();
        int str_len;
        char *result;

        if (zend_parse_parameters(argc TSRMLS_CC, "s", &str, &str_len) == FAILURE)
                return;

        str_len = spprintf(&result, 0, "%s==", str);
        RETURN_STRINGL(result, str_len, 0);
}


七、編譯源碼

    /usr/local/php/bin/phpize
string

    ./configure --with-php-config=/usr/local/php/bin/php-config
it

   make & make install


八、拷貝htest.so 文件到 php安裝目錄 的extensions目錄

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

九、測試

相關文章
相關標籤/搜索