第一种方法:使用PHP源码包自带的ext_skel工具。

~/public_html/php-5.3.13/ext> ./ext_skel --extname=sample11

Creating directory sample11

Creating basic files: config.m4 config.w32 .svnignore sample11.c php_sample11.h CREDITS EXPERIMENTAL tests/001.phpt sample11.php [done].

To use your new extension, you will have to execute the following steps:

1. $ cd ..

2. $ vi ext/sample11/config.m4

3. $ ./buildconf

4. $ ./configure --[with|enable]-sample11

5. $ make

6. $ ./php -f ext/sample11/sample11.php

7. $ vi ext/sample11/sample11.c

8. $ make

Repeat steps 3-6 until you are satisfied with ext/sample11/config.m4 and

step 6 confirms that your module is compiled into PHP. Then, start writing

code and repeat the last two steps as often as necessary.

第二种方法:使用CodeGen_PECL。

/usr/local/services/php/bin> sudo ./pear install CodeGen_PECL

downloading CodeGen_PECL-1.1.3.tgz ...

Starting to download CodeGen_PECL-1.1.3.tgz (102,640 bytes)

........................done: 102,640 bytes

install ok: channel://pear.php.net/CodeGen_PECL-1.1.3

/usr/local/services/php/bin> sudo ln -s /usr/local/services/php/bin/pecl-gen /usr/local/bin/

~/public_html/php-5.3.13/ext> pecl-gen --extname=sample12

Strict Standards: Declaration of CodeGen_PECL_Element_Constant::docFooter() should be compatible with that of CodeGen_Element::docFooter() in /usr/local/services/php/lib/php/CodeGen/PECL/Element/Constant.php on line 341

Strict Standards: Declaration of CodeGen_PECL_Element_Resource::hCode() should be compatible with that of CodeGen_Element::hCode() in /usr/local/services/php/lib/php/CodeGen/PECL/Element/Resource.php on line 354

Strict Standards: Declaration of CodeGen_PECL_Element_Ini::docFooter() should be compatible with that of CodeGen_Element::docFooter() in /usr/local/services/php/lib/php/CodeGen/PECL/Element/Ini.php on line 443

Strict Standards: Declaration of CodeGen_PECL_Element_Logo::hCode() should be compatible with that of CodeGen_Element::hCode() in /usr/local/services/php/lib/php/CodeGen/PECL/Element/Logo.php on line 259

Strict Standards: Declaration of CodeGen_PECL_Element_Method::setCode() should be compatible with that of CodeGen_PECL_Element_Function::setCode() in www.2cto.com/usr/local/services/php/lib/php/CodeGen/PECL/Element/Method.php on line 471

Strict Standards: Declaration of CodeGen_PECL_Element_Stream::hCode() should be compatible with that of CodeGen_Element::hCode() in /usr/local/services/php/lib/php/CodeGen/PECL/Element/Stream.php on line 239

Your extension has been created in directory ./sample12.

See ./sample12/README and/or ./sample12/INSTALL for further instructions.

注:报错“Strict Standards: Declaration of […] should be compatible with that of […] in […]”是因为PHP5.3.0+要求子类声明必须在父类声明,请直接修改php.ini。

error_reporting = E_ALL & ~E_STRICT

以上只是给出了生成PHP扩展的最简单的命令,ext_skel和pecl-gen还支持多种参数生成更加丰富的扩展,请自行参考相关帮助文档。

~/public_html/php-5.3.13/ext> ./ext_skel --help

~/public_html/php-5.3.13/ext> pecl-gen --help

http://www.bkjia.com/PHPjc/477772.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477772.htmlTechArticle第一种方法:使用PHP源码包自带的ext_skel工具。 ~/public_html/php-5.3.13/ext ./ext_skel --extname=sample11 Creating directory sample11 Creating basic files: config.m4...

php 生成器 教程,PHP扩展生成器_PHP教程相关推荐

  1. 如何添加php的扩展名,PHP如何获得文件的扩展名_PHP教程 - strtolower

    ..._dump($func($file)); } function get_file_ext_1($file) { return strtolower(trim(substr(strrchr($fi ...

  2. php非默认安装的扩展库,PHP安装新的扩展库_PHP教程

    在搭建LAMP环境时,apache和php都是自己手动安装的,只安装了php的默认的扩展库.在用到curl时才发现curl扩展库没有加载. 就只好手动安装了. 1.切换到我下载的php源码文件夹中. ...

  3. php smarty模板遍历,smarty模板中for循环的扩展插件_PHP教程

    smarty是php开发中非常流行的一个模板,以前曾发过一篇文章php smarty中文截取插件开发示例是说明如何开发smarty插件的,这篇文章将分享一下如何为smarty模板做一个for循环的扩展 ...

  4. php初始教程,NodeJs菜鸟初始_PHP教程

    一.nodejs具有事件驱动.异步编程的特点. 事件驱动这个词并不陌生,在某些传统语言的网络编程中,我们会用到回调函数,比如当socket资源达到某种状态时,注册的回调函数就会执行.Node.js的设 ...

  5. php与mysql之间关系_php与phpMySQL之间的关系_PHP教程

    php与phpMySQL之间的关系_PHP教程 本教程并不想让你完全了解这种语言,只是能使你尽快加入开发动态web站点的行列.我假定你有一些HTML(或者HTML编辑器)的基本知识和一些编程思想. 简 ...

  6. php 类分开写,自己前几天写的无限分类类_PHP教程

    自己前几天写的无限分类类_PHP教程 前一周写的吧,使用中效果还不错. 主要思想来自:http://www.phpobject.net/b...[url=http://www.phpobject.ne ...

  7. php cdata,PHPcdata处理(详细介绍)_PHP教程

    PHPcdata处理(详细介绍)_PHP教程 当时在网上找了一个CDATA的转换器, 修改之后, 将CDATA标签给过滤掉.如下 代码如下: // States: // // 'out' // ' / ...

  8. vscode浏览器扩展(图文教程) - 设置篇

    vscode浏览器扩展 - 图文教程 图文设置 · 操作如图: 以上就是关于" vscode浏览器扩展(图文教程) - 设置篇 "的全部内容.

  9. php和mssql连接好吗,php如何与mssql数据库连接与配置_PHP教程

    php教程如何与mssql数据库教程连接与配置 PHP自带的扩展php_mssql.dll连接SQL Server 2000,用mssql系列函数来操作,和操作MySQL的一样. 1.打开PHP配置文 ...

最新文章

  1. win32 打印机api
  2. linux 内核 call,在Linux Kernel內新增一个System Call(转)
  3. 中秋干货 | 架构进阶之路上的实时数仓
  4. 【Linux学习】linux源代码版本控制RCS
  5. 电脑上的linux是什么文件夹,linux删除文件夹,详细教您电脑的linux怎么样删除文件夹...
  6. Java学习笔记之:Java 继承
  7. 在STM8单片机中自己实现 printf()函数功能
  8. 数据结构课程设计--平衡二叉树
  9. 如何在Ubuntu 13.04, 13.10上安装Sublime Text 3
  10. 细说进程、应用程序域与上下文之间的关系(三)—— 深入了解.NET上下文
  11. 【数学建模笔记 22】数学建模的模糊数学模型
  12. 视频解析工具youtube-dl
  13. win10中bochs仿真linux0.11环境快速搭建方法
  14. 2019年IT及大数据行业趋势
  15. 关闭Win10强制自动更新驱动
  16. Labelme对图像标注、json转化png格式
  17. 七款网工在线画拓扑工具
  18. 征信报告 加密文档_PDF文档如何加密?看完这个方法你就知道了
  19. Office2Pdf工具开发
  20. 真机提示 iPhone has denied the launch request 问题

热门文章

  1. [译] Robinhood 为什么使用 Airflow
  2. 比起VR高端设备市场,三星或对移动VR平台更感兴趣
  3. Redisbook学习笔记(3)数据类型之对象处理机制
  4. 新一轮光伏电站产能过剩隐忧初显
  5. 订单倒计时取消,nodejs 辅助实现倒计时任务
  6. 在 CentOS 7 中安装并使用自动化工具 Ansible
  7. py2exe——.py文件转换成exe
  8. sqlplus column命令用法
  9. 必看!这八则故事教会你如何理财
  10. JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...