PHP扩展开发入门

原文:http://www.orlion.ga/1090/

形容一个最简易的以字符串全部变成大写的函数:

<?php
    function my_toupper($str) {
        return strtoupper($str);
    }

    echo my_toupper('demo');
?>

现行我们出一个php扩展,实现my_toupper的功能。

 

Step1:

    PHP提供了一个恢宏框架生成器:ext_skel,这个家伙在php源码的ext目录(我之是/usr/local/src/php-5.6.17/ext/)下。首先我们在php源码的ext目录下开创一个orlion.skel文件,文件内容吗:

string my_toupper(string str)

 这个文件就是只要告诉ext_skel我们的恢宏里有my_toupper这个函数,接下去执行:

./ext_skel --extname=orlion --proto=orlion.skel

 

   
图片 1

    这等同步会以当前目录下创办一个文书夹orlion。目录结构这样的:

   
图片 2

    这时候是扩展的框架就长建筑好了。

 

Step2:

    修改orlion目录下之config.m4,将是文件第10、11、12履行的dnl去丢:

   就是将

    
图片 3

    改为:

   
图片 4

    

Step3:

    接下去就是如果促成我们的效应了,打开orlion.c,然后找到函数PHP_FUNCTION(my_toupper),修改也如下:

   
图片 5

    然后编译扩展,依次运行:

$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make

 

Step4:

    将扩展添加到php中,首先以我们扩张中之orlion/mudules/orlion.so拷贝到php的扩张目录:

   
图片 6

    然后改配置php.ini在文件最后界限加上”extension=orlion.so”然后重新启php-fpm。

 

Step5:

    写单test.php文件测试一下:

<?php
    var_dump(my_toupper('abc'));
?>

 

    运行一下可看看输出了ABC,success!

相关文章