Press "Enter" to skip to content

关于做PHP扩展开发的一些资源

最近有个感觉, 越来越多的人开始从事PHP扩展开发的工作(越来越多的人来问问题了, 呵呵)
在这里先说声抱歉, 有的时候, 有的同学的邮件进了垃圾邮件没有办法及时回复.
为了方便大家, 我在这里罗列一些可能用到的资源.
1. 首先, 要推荐一本书 《Extending and Embedding PHP》, 如果你有时间, 我建议你在做之前好好读读这本书(目前没有中文版)
2. Google/Baidu 这个就不用多说了吧
3. PHP的源代码中,包含了一些编写良好的"例子", 都在ext/目录下, 绝大部分Zend_API的使用, 都在里面有例子.
4. pecl-dev at lists.php.net 这个邮件组是扩展开发的交流邮件组, 如果你实在是Google/baidu不到你的问题的答案, 可以发邮件到这个邮件组提问, 不过, 一般来说, 要有耐心等待回复(大部分人和我们有15个小时的时差, 当然, 如果我看到了, 我会尽量回复)
5. efnet #php.pecl 这里聚集了pecl开发者, 你也可以来这里提问(我整天都在上面), 不过这里只能说英文, 另外提问的时候要注意不要直接粘贴代码, 而应该使用pastebin之类的工具(所以还是建议大家发邮件到pecl-dev)
6. 尽量编写一些phpt测试用例(phpt的写法在每个标准扩展下面都有例子, tests目录下), 来测试你的扩展.
7. 测试的时候用--enable-debug编译PHP, 来测试你的扩展, 你要做到执行你的扩展逻辑, 不输出任何错误信息
8. 使用valgrind检测内存泄露.
希望对大家有帮助.

21 Comments

  1. Fei Xu
    Fei Xu December 26, 2019

    Good + Thanks + Go on.

  2. php extension | 大专栏
    php extension | 大专栏 October 6, 2019

    […] PHP扩展(PECL)跟PHP引擎一样都是使用C语言开发。PHP核心开发组成员鸟哥Laruence使用的是VIM进行PHP开发。http://www.laruence.com/2011/09/13/2139.html书籍: http://www.walu.cc/phpbook/案例: php-src/extPECL开发邮件组: http://news.php.net/php.pecl.dev尽量编写一些phpt测试用例,php-src/tests下有很多参考.测试时用–enable-debug编译PHP,要做到执行你的扩展逻辑,不输出任何错误信息.用valgrind检测内存泄露. […]

  3. mom
    mom July 18, 2016

    鸟哥,如何在一个php扩展中实例化其他扩展中的类,比如,在我的自定义扩展myextension中使用pdo类

  4. helius
    helius October 11, 2013

    这本书没中文真难肯,大牛你翻译一本吧我一定买

  5. syang
    syang April 8, 2013

    你好,鸟哥:
    我在编译php时,使用debug模式,调式扩展时,
    发现,如果自己定义inline函数,
    调用会报错,在符号表中找不到我的函数
    去掉inline后,可以调试
    虽然有一个内存泄漏清况,包括php内核自身的
    但是大部份的内存泄漏会报在
    MAKE_STD_ZVAL
    ZVAL_STRING
    这样的调用行!
    是不是过后需要用什么函数来释放呢?

  6. 雪候鸟
    雪候鸟 September 14, 2011

    @早起的菜鸟 @Me.strone 诶, 私房菜的鸟哥是台湾的, 搞Linux的, :<

  7. 雪候鸟
    雪候鸟 September 14, 2011

    @walu 我看了下,翻译的挺好, 不过有一点, 就是那本书成书已经好几年了, 最近PHP改变较多, 尤其是5.4, 底层结构变化也比较多, 如果忠实翻译还好, 否则可能要考虑新加入的东西:)

  8. Me.strone
    Me.strone September 14, 2011

    没注意,原来是传说中的鸟哥啊……看了你写的那两个私房菜,很不错。希望多多出好书!我们就多多向你学习了。

  9. 早起的菜鸟
    早起的菜鸟 September 14, 2011

    鸟哥 你是不是那个写私房菜的鸟哥啊?都是大神啊!我也取了鸟的名字,希望能够沾沾你们的才气

  10. walu
    walu September 14, 2011

    《Extending and Embedding PHP》我正在翻译,项目地址:http://phpbook.sinaapp.com 如果鸟哥偶尔有空,还请帮忙斧正。:-)

  11. 雪候鸟
    雪候鸟 September 13, 2011

    @Qianfeng 我自己用windows, 虚拟机是Linux, 在Linux下开发

  12. Qianfeng
    Qianfeng September 13, 2011

    鸟哥,我想知道你的,开发桌面是什么系统?。。
    还有日常使用的桌面是否同一个~~

  13. 雪候鸟
    雪候鸟 September 13, 2011

    好了, 呵呵, 换成书名号了…

  14. Ray
    Ray September 13, 2011

    鸟哥。。。书名呢?

Leave a Reply to helius Cancel reply

Your email address will not be published. Required fields are marked *