Home > php教程 > php手册 > PHP扩展生成器

PHP扩展生成器

WBOY
Release: 2016-06-13 10:54:29
Original
778 people have browsed it

第一种方法:使用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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template