Skip to content

Repository files navigation

Bny.php

一个简易的 PHP CLI 工具链,基于 V 语言 开发。

 __ __
/ /_ ____ __ __ ____ / /_ ____
/ __ \/ __ \/ / / / / __ \/ __ \/ __ \
/ /_/ / / / / /_/ / / /_/ / / / / /_/ /
/_.___/_/ /_/\__, (_) .___/_/ /_/ .___/
/____/ /_/ /_/
Bny: v0.0.0 PHP: 已安装 Composer: 已安装 XXXX-XX-XX XX:XX:XX
用法:
bny <指令> [参数] [选项]
指令:
run 运行主程序
php 运行PHP
composer 运行Composer
compile 编译项目
android 打包为Android apk
add 添加/选择php版本
search 搜索php版本
delete 删除php版本
lists 查看已安装的php
clean 清理缓存垃圾
选项:
-h 显示帮助信息
-v 显示版本信息

特性

  • 轻量简洁,无需复杂配置
  • PHP 版本管理,支持多版本切换
  • 项目一键编译,将 PHP CLI 项目打包为单个可执行文件
  • Android APK 打包,WebView 壳 + 内嵌 PHP 运行时
  • 内置 Composer 支持

平台支持

平台架构状态
Windowsx86_64已支持
Linuxx86_64, aarch64已支持
macOSarm64已支持

快速开始

安装

下载对应平台的预编译版本,添加到系统 PATH 即可使用。

基本用法

# 查看帮助
bny -h
# 查看版本
bny -v
# 运行 PHP 脚本
bny run index.php
# 运行 Composer 命令
bny composer require package/name
# 添加 PHP 版本
bny add 8.4
# 切换 PHP 版本
bny add 8.5
# 查看已安装的 PHP 版本
bny lists
# 编译当前项目
bny compile .# 编译为指定名称
bny compile index.php -o myapp
# 编译为指定名称并设置图标
bny compile index.php -o myapp -icon app.ico

编译配置

在项目根目录创建 bny.json 配置文件:

{
"title": "我的应用",
"name": "myapp",
"main": "./index.php",
"icon": "./icon.png",
"ini": "./php.ini",
"define": [
"memory_limit=256M",
"max_execution_time=300"
],
"ignore": [
"runtime/",
".git/",
"test/"
]
}

配置说明

字段类型说明
titlestring项目显示名称,可中文(安卓应用名、Linux 桌面名),默认按 name
namestring编译产物文件名 (默认: 按入口文件名,如 index.php -> index)
mainstring项目入口文件 (默认: ./index.php)
iconstring应用程序图标路径
inistringPHP 配置文件路径
definearrayPHP 运行参数,与 php -d 相同
ignorearray打包时忽略的文件或文件夹

Android 打包

完整说明见 ANDROID.md:打包命令、配置、环境与 SDK 自动准备、签名、App 架构、以及 PHP/JS 桥接 Android 原生能力。

编译说明

  • Windows 是采用 EVB 进行封包, 内存运行 ,安全指数:⭐⭐⭐⭐
  • Linux 是采用 AppImage 进行封包, 解压运行 ,安全指数:无
  • MacOs 仅封装为 .app 目录结构,open/双击 运行, 安全指数:无
  • Android 是采用 Gradle 打包 WebView壳+内嵌PHP 的 APK,App打开即启动 ,安全指数:⭐⭐

Linux compile 运行/打包要求

apt install -y file
export APPIMAGE_EXTRACT_AND_RUN=1

许可证

MIT License

About

💕 Bny.php 一 个 PHP-CLI 工 具 链、编 译 应 用、管 理 PHP 版 本 等

Topics

Resources

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages