Phiwrapper打包胖“二进制”的工具

联合创作 · 2023-09-29 07:53

phiwrapper 是一个用于打包胖“二进制”的工具

phiwrapper可以通过batsh使得同一文件包含不同平台的二进制,可以在不同平台运行:例如,使用phiwrapper打包 Windows 的 PHP PE 二进制和,linux的ELF二进制以及php代码,在Windows下可以双击运行file.bat文件开启服务,linux下可以用sh ./file.bat运行相同的PHP代码

目前phiwrapper支持Windows 7+和x86_64的linux、macOS系统

TODOs && WIPs

  • zip.js -- zip.js 还没有实现,你需要手动打包code和bin目录的zip到build/build.zip
  • 支持命令行参数、完整的清理、提升权限...
  • 测试和自动化测试
  • x86 unix-like系统兼容
  • 更多架构系统兼容
  • unzip体积裁剪

打包用法

依赖(Windows)

没有依赖

依赖(Unix-like)

需要nodejs

准备二进制文件

准备phiwrapper的二进制到tools目录

git clone https://github.com/longyan/phiwrapper_binaries tools

自行准备需要的二进制放置于任意子目录

例如从windows.php.net下载windows PHP二进制包,解压到bin/win

静态编译linux的php,放在bin/linuxx64

准备代码

将平台无关的代码放在任意子目录(例如code/index.html, code/hello.php)

配置

复制config.js.example为config.js, 参照文件内容创建配置

打包

mkwrapper.bat
./mkwrapper.sh

限制

phiwrapper仅仅是将多个二进制文件置于压缩包中,并非类似Mach-O的原生胖二进制,因此文件体积较大,建议针对性对要包含的二进制文件进行裁剪。

青岛龙之言软件有限责任公司由国内著名的 Swoole团队和 禅道团队合资成立。Swoole团队是业内知名的PHP底层开发团队,为PHP贡献了协程、加密、监控等多种方案,有力地弥补了PHP在高并发高性能场景的短板。禅道团队是PHP语言的重度用户,先后使用PHP语言开发了四款开源软件。两个团队在PHP社区上都有深厚的感情,都想为PHP社区做些自己的贡献。于是就诞生了龙之言这个公司。

龙之言公司主要的使命就是弥补PHP的短板,完善PHP的生态,为中国的PHP用户提供有力的技术支持。我们主要的工作方向有如下几个:

  • 提高PHP在高性能高并发场景的适用性
  • 适配国产化操作系统
  • 完善各种类库
  • 加强PHP对人工智能场景的支持
  • 加强PHP在物联网场景的支持
  • 加强PHP在打包安装方面的支持

我们的项目将主要以开源的方式来进行发布,如果您有什么好的想法,或者痛点,或者想参与到我们的开发中来,欢迎和我们联系。我们的联系方式: guoxinhua@swoole.com

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报