本文主要记录了zephir各种安装失败,打包失败的正确姿势,完美解决各个版本php打包php打包扩展zephir避坑安装指南,一旦拥有别无所求。

1686885953

参考文档

使用系统镜像

 我们使用2207版本centos7安装系统

系统环境

 我们通过宝塔面板来安装指定php版本,当然你也可以使用其他方式安装。

 如果提示找不到git命令我们可以通过以下命令安装一下git

yum install git

zephir安装步骤

首先我们来到系统根目录将 php-zephir-parser 通过 Git 方式 Clone 下来

  • github
git clone https://github.com/zephir-lang/php-zephir-parser
  • gitee
git clone https://gitee.com/laiwi/php-zephir-parser.git

国内 Clone 失败可以使用 gitee
1686884851

安装编辑PHP环境zephir_parser.so扩展

 我们安装完指定php版本环境后就可以编译 zephir_parser.so 扩展了,有了这个扩展我们才能正常编译打包自定义扩展。

安装必要环境

sudo yum install gcc make re2c autoconf automake

我们通过以上命令安装必要环境

一行命令打包 zephir_parser.so

cd php-zephir-parser && /www/server/php/74/bin/phpize && ./configure --with-php-config=/www/server/php/74/bin/php-config && make && sudo make install

其中 74 为 PHP版本 我们可以根据自己安装版版本进行调整,我们这边用的 80 版本。
1686886135

查看文件夹是否存在 zephir_parser.so

cd /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930

1686886255
可以看到已经存在 zephir_parser.so 扩展了

安装 zephir_parser.so

将以下配置配置到 php.ini 或者 php-cli.ini 即可

1686886499

[Zephir Parser]
extension=zephir_parser.so

然后通过PHP命令查看是否加载成功

php -m

1686886517

将 php-config 映射到全局

ln -s /www/server/php/74/bin/php-config /usr/sbin/php-config

其中 74 为 PHP版本 我们可以根据自己安装版版本进行调整,我们这边用的 80 版本。

安装zephir.phar命令行工具

 通过 zephir.phar 命令我们才可以进行打包操作。

跳转到 bin 安装目录

 cd /usr/local/bin

通过以上命令我们跳转到 bin 目录

下载 zephir.phar

wget https://github.com/zephir-lang/zephir/releases/download/0.17.0/zephir.phar

通过以上命令我们将最新版本 zephir.phar 下载下来。

给定 zephir.phar 访问权限755

chmod 755 zephir.phar

通过以上命令我们将最新版本 zephir.phar 权限设为755。

将 zephir.phar 映射为全局命令

ln -s /usr/local/bin/zephir.phar /usr/sbin/zephir

通过以上命令我们将下载的最新版本 zephir.phar 映射为全局命令方便我们在任何地方都可以使用。

验证 zephir 命令是否有效

我们在命令行直接输入以下命令

zephir

1686886754

自定义自定义扩展

我们使用 init 初始化命令创建一个自定义扩展

zephir init test

然后进入项目目录

cd test/test/

创建 Commom.zep 测试文件

vi Common.zep

写入测试内容

namespace Test;

class Common {

    public static function instance()
    {
    }

}

然后保存返回项目根目录

打包测试项目

zephir build

1686887666

将生成的扩展配置到 php.ini 即可
1686887778

 到此我们已经将zephir从安装到打包全部流程走完,所有的坑已经全部规避,有兴趣的同学可以尝试一下。