摘要:内容均以php5.6.14为例. 假设有模块 foo,php_foo.h 和 foo.c 是固有文件,额外的C文件如果要加入编译,大致有五步。 1. 新增头文件 foo_bar.h #ifndef FOO_BAR_H #define FOO_BAR_H extern zend_class_entry
阅读全文
摘要:内容均以php5.6.14为例. 一. 封装函数时产生 memory leaks. [weichen@localhost www]$ php 2.php [122,3333] [Tue Jul 10 15:34:42 2016] Script: '/home/www/2.php' /home/wei
阅读全文
摘要:内容均以php5.6.14为例. 扩展中定义一个类有以下四步: #1. 声明一个存储类信息的指针. zend_class_entry *errs_ce; #2. 定义方法的参数信息,类的方法实现. ZEND_BEGIN_ARG_INFO_EX(errs_test_arginfo, 0, 0, 1)
阅读全文
摘要:Optional functional pack prepared for fast php framework. Source:https://github.com/farwish/pdoner Link:http://www.cnblogs.com/farwish/p/5677358.html
阅读全文
摘要:今天的前端如果没有用到 npm,效率是比较低的;所以要从使用的工具来讲。 1. 一切都依赖于 nodejs: 下载一个 linux 的源码包就可以开始安装了。 $ wget https://nodejs.org/dist/v4.4.7/node-v4.4.7.tar.gz $ ./configure
阅读全文
摘要:Centos7 上使用gdb: $ gdb php $ run /home/www/2.php 运行完 run,后面跟着很长的提示: …. Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-17.el7
阅读全文
摘要:内容均以php5.6.14为例. 从一个封装 uniqid 的例子来讲。 /* {{{ wrapper of uniqid */ PHP_FUNCTION(fox) { // #1. zval *prefix, *more = NULL; zval function, *params[2] = {0
阅读全文