13
Sep
September 13, 2010 分类: ASM/C/C++, Linux, PHP/MySQL     作者: hoverlees     留言: 发表

用了这么多年的PHP,还真有幸地做过几次扩展,以前做的扩展,大都是在windows平台上,然后用的COM组件实现,也有一次写的应用程序,然后用TCP协议调用函数,却从来没有尝试过去写PHP模块,正好这次的PHP产品又有做扩展的需要,服务器也是多种操作系统的,这样的情况,何不尝试用PHP模块的方式来实现呢。我使用了NASM 汇编语言,这种开源的,跨平台的汇编语言。
为什么用汇编语言呢,其实PHP用C语言写模块的话,会有很多的宏调用,方便快捷,而我要用汇编语言去写第一个模块,主要就是想从PHP的文档和源代码共同地去研究PHP的内部,真正深入地了解它的执行。以后的开发肯定还是要用C语言的,因为它不仅仅是跨平台了,还可以跨CPU架构。
开始研究文档,PHP文档《PHP at the Core: A Hacker’s Guide to the Zend Engine》一章里很详细地讲述了PHP内核的运行机制及模块的加载方式,加上官方网站上下载的源代码,一切都不是秘密了。

查看详细内容 »

标签: ,