php7 没有phpize怎么办

1. 背景介绍

phpize 是一个用来为 PHP 模块编译生成配置文件的一个工具,通常是在安装扩展时需要用到的。phpize 命令在 PHP 安装中的 bin 目录下。

然而随着 PHP 版本的升级,phpize 工具也有了不同的版本。在 php7 版本中,phpize 工具已经被废弃了,而被 ext_skel.php 工具代替。

2. 使用 ext_skel.php 代替 phpize

2.1 下载 ext_skel.php

您可以从 https://git.php.net/?p=php-src.git;a=blob_plain;f=ext_skel.php;hb=HEAD 下载 ext_skel.php 文件。

也可以通过以下命令下载:

curl https://git.php.net/?p=php-src.git;a=blob_plain;f=ext_skel.php;hb=HEAD -o ext_skel.php

2.2 创建扩展目录

在终端命令行中输入以下命令,创建扩展模块:

php ext_skel.php --extname=example

这里的 --extname 参数表示自定义扩展名称,可以根据自己的需求随意修改。

2.3 配置扩展

扩展目录创建成功后,可以编辑 config.m4 文件来自定义扩展的编译选项。

例如,定义需要的头文件和库文件:

PHP_ARG_WITH(example, for example support,

[ --with-example Include example support])

if test $PHP_EXAMPLE != "no"; then

AC_DEFINE(HAVE_EXAMPLE, 1, [Whether you have example])

PHP_REQUIRE_CXX()

PHP_ADD_LIBRARY_WITH_PATH(example, /usr/local/lib, EXAMPLE_SHARED_LIBADD)

PHP_SUBST(EXAMPLE_SHARED_LIBADD)

PHP_NEW_EXTENSION(example, example.c,

$ext_shared, "-DEXAMPLE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1")

fi

2.4 编译扩展

在 ext 目录下执行以下命令即可编译扩展:

phpize

./configure

make

make install

3. 总结

phpize 工具在 php7 中被废弃,使用 ext_skel.php 可以代替 phpize 工具生成扩展模板。通过自定义扩展名称、配置编译选项等,可以很轻松地编写和编译扩展模块。

后端开发标签