ITPub博客

首页 > 架构设计 > 数据架构 > PHP扩展开发就是一个自己的PHP扩展

PHP扩展开发就是一个自己的PHP扩展

原创 数据架构 作者:标梵互动 时间:2020-11-05 11:50:28 0 删除 编辑

通常需要一些C基础的PHP扩展开发。但这篇文章介绍了扩展开发的另一种方法。用Zephir开发扩展PHP

1.基础准备

1.1环境和软件

以CentOS系统为例,执行:

yum install gcc make re2c autoconf automake

没有PHP的同学需要装一下PHP,本篇不再介绍

1.2 安装解析器

拉取代码并编译成扩展

mkdir /phptemp

cd /phptemp

git clone git://github.com/phalcon/php-zephir-parser.git

cd php-zephir-parser

//这里替换成你的PHP所在目录

/usr/local/php/bin/phpize

//这里替换成你的PHP所在目录

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

//这里替换成你的PHP所在目录

/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

vim php.ini添加:

extension="zephir_parser.so"

1.3下载编译软件

cd /phptemp

wget https://github.com/phalcon/zephir/releases/download/0.12.19/zephir.phar

//重命名为可执行文件,并添加到环境变量中(也可以挪到已添加到环境变量中的目录下)

mv zephir.phar zephir

添加成功时,在任意目录执行zephir,都可以看到如下效果。

 _____              __    _

/__  /  ___  ____  / /_  (_)____

  / /  / _ \/ __ \/ __ \/ / ___/

 / /__/  __/ /_/ / / / / / /

/____/\___/ .___/_/ /_/_/_/

         /_/

2正式开始

2.1初始化扩展目录

zephir init Huai

cd huai/huai

2.2编辑自己的第一个扩展文件

vim common.zep
namespace Huai;
class Common
{
    public static function say()
    {
        echo "hello world!";
    }
}

wq保存退出

2.3构建包

cd ..

处于和config.json平级的目录,执行

zephir build //注意,用root权限运行

2.4将生成的扩展添加到php.ini目录中

生成的文件在config.json平级的目录ext/modules里

将so文件挪到自己常用的so目录。

这里将目录替换成自己的php扩展所在目录

mv huai.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

vim php.ini //增加自己的扩展

extension="huai.so"

2.5 试着执行一下

wq保存并重启PHP-FPM

php -m 查看扩展是否已加载。

echo Huai\Common::say();

输出:hello world!

是不是很简单,Enojoy it!

本文来源: 标梵互动  https://www.biaofun.com/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69987244/viewspace-2732319/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2020-11-05

  • 博文量
    4
  • 访问量
    4808