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检测内存泄露.
希望对大家有帮助.

24 Comments

  1. danielbro
    danielbro March 8, 2023

    Thank you for your helpful post, There is no need to go to the future, the future is coming to with you friv 1001

  2. Fei Xu
    Fei Xu December 26, 2019

    Good + Thanks + Go on.

  3. 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检测内存泄露. […]

  4. mom
    mom July 18, 2016

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

  5. helius
    helius October 11, 2013

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

  6. pangee
    pangee August 5, 2013

    灰常有帮助。

  7. syang
    syang April 8, 2013

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

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

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

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

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

  10. Me.strone
    Me.strone September 14, 2011

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

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

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

  12. walu
    walu September 14, 2011

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

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

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

  14. Qianfeng
    Qianfeng September 13, 2011

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

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

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

  16. Ray
    Ray September 13, 2011

    鸟哥。。。书名呢?

Comments are closed.