本文主要记录了zephir各种安装失败,打包失败的正确姿势,完美解决各个版本php打包php打包扩展zephir避坑安装指南,一旦拥有别无所求。
参考文档
使用系统镜像
我们使用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
安装编辑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 版本。
查看文件夹是否存在 zephir_parser.so
cd /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930
可以看到已经存在 zephir_parser.so 扩展了
安装 zephir_parser.so
将以下配置配置到 php.ini 或者 php-cli.ini 即可
[Zephir Parser]
extension=zephir_parser.so
然后通过PHP命令查看是否加载成功
php -m
将 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
自定义自定义扩展
我们使用 init 初始化命令创建一个自定义扩展
zephir init test
然后进入项目目录
cd test/test/
创建 Commom.zep 测试文件
vi Common.zep
写入测试内容
namespace Test;
class Common {
public static function instance()
{
}
}
然后保存返回项目根目录
打包测试项目
zephir build
将生成的扩展配置到 php.ini 即可
到此我们已经将zephir从安装到打包全部流程走完,所有的坑已经全部规避,有兴趣的同学可以尝试一下。