二进制打包|phar打包

PHP PHAR打包分发实战:从原理到自动化构建 在PHP开发中,依赖管理和应用分发是常见的工程挑战。Composer解决了依赖管理问题,但项目打包和部署仍面临环境配置复杂、依赖项众多等痛点。PHAR(PHP Archive)技术应运而生,它借鉴了Java JAR包的思想,将PHP项目及其所有依赖打包成单一可执行文件,实现了应用的自包含。其核心原理基于PHP的流包装器(phar://)和__HALT_COMPILER()指令,通过存根(Stub)、清单(Manifest)和文件内容三部分结构,支持数字签名验证和文件压缩。这项技术的工程价值在于简化部署流程、 阅读详情
注意
打包后的文件目前只支持运行在x86_64架构的linux系统上,不支持windows和mac系统
需要关闭php.ini的phar配置选项,既设置 phar.readonly = 0
打包后的项目不支持reload,更新代码需要restart重启

二进制文件无需php环境也能在linux系统运行起来。
phar打包需要php环境
安装
composer require webman/console
 配置文件
config/plugin/webman/console/app.php
 禁用函数检查
检查禁用函数
curl -Ss https://www.workerman.net/webman/check | php

方法一
php webman fix-disable-functions
不好用的话安装下面这个
composer require webman/console ^v1.2.35
方法二
curl -Ss https://www.workerman.net/webman/fix-disable-functions | php
 上传文件到public目录
config/app.php

'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
二进制打包
运行命令
php webman build:bin
指定php版本打包
php webman build:bin 8.1
启动
调试方式运行
./webman.bin start
守护进程方式运行
./webman.bin start -d
 phar打包
php webman build:phar
启动
启动
php webman.phar start 或 php webman.phar start -d
停止
php webman.phar stop
查看状态
php webman.phar status
查看连接状态
php webman.phar connections
重启
php webman.phar restart 或 php webman.phar restart -d

PHP应用打包与分发实战:深入PHAR文件格式与构建实践 在软件开发和部署中,应用打包与分发是提升交付效率和一致性的关键技术。其核心原理是将代码、依赖和资源封装为单一可执行单元,通过特定的归档格式和运行时加载机制实现自包含运行。这项技术的核心价值在于简化部署流程、确保环境一致性,并便于跨团队或社区分发独立工具。在PHP生态中,PHAR(PHP Archive)正是实现这一目标的官方解决方案,它通过phar://流包装器和特定的文件结构(包含存根、清单、内容与可选签名),使开发者能将复杂项目打包为单一.phar文件。结合Composer依赖管理和Box等构建工具,P 阅读详情

相关推荐

一个phar://的漏洞

前段时间打了个护网杯,题目质量是真的高,肉鸡又菜了一整场,遇到了一个不太会的东西,复现了一波,记录下好吧。 这个鬼东西就是phar://的序列化的漏洞 介绍一下 phar://跟php://filter 、data://那些一样,都是流包装,可以将一组php文件进行打包,可以创建默认执行的stub stub 就是一个标志,格式xxx<?php xxxxx; __HALT_COMPIL...

Xi4or0uji 6121

php打包为phar文件

Phar就是把Java界的jar概念移植到了PHP界。 Phar可以将一组PHP文件进行打包,还可以创建默认执行的stub(或者叫做 bootstrap loader),Phar可以选择是否进行压缩,可选gzip和bzip2格式 方法也很简单,我们先创建一个文件夹以及一个文件 在文件夹外新建一个文件,用来生成phar文件 $phar = new Phar('user.phar', 0, 'user.phar'); $phar->buildFromDirectory(dirname(__FILE__

老骆驼的博客 1264

Phar反序列化漏洞:原理、利用与防御实战指南

在PHP安全领域,反序列化漏洞因其高危害性备受关注。其核心原理在于,当用户可控的数据被传递给unserialize()函数时,攻击者可通过精心构造的序列化字符串,在目标系统中实例化恶意对象并触发其魔术方法(如__destruct、__wakeup),从而执行任意代码或命令。这种技术价值在于,它往往能绕过常规输入过滤,直接切入应用逻辑深处,实现远程代码执行(RCE)或敏感信息泄露。在应用场景上,反序列化漏洞常出现在用户数据持久化存储、会话管理、API通信及依赖第三方库序列化功能的模块中。本文聚焦于Phar反序

weixin_33994429的博客 468

php 打包成二进制代码,具体具体的方法与工具

PHP代码打包方法摘要:本文介绍了7种PHP代码打包方案:1.原生Phar工具打包成.phar文件;2.Box增强版Phar打包工具;3.PHPDesktop桌面应用打包方案;4.商业版SwooleCompiler加密工具;5.Docker容器化方案;6.PHPMicro生成独立可执行文件;7.Windows专用的BambalamPHPEXECompiler。文章详细说明了每种方法的配置步骤和示例代码,并对比了各方案的适用场景:简单分发推荐Phar/Box,商业保护选择SwooleCompiler,桌面应用

小川搞开发的博客 702

phar.scer.io:面向JavaScript开发者的PHAR转换器

在当前的Web开发领域,PHP作为一种流行的服务器端脚本语言,以其易于学习和高效的应用开发特性受到了广泛的关注。随着技术的发展和应用需求的提高,对PHP的打包和部署提出了更高的要求。PHAR文件作为PHP的一种归档格式,允许开发者将PHP代码和其相关资源打包到单一的可执行文件中,这不仅提高了代码的管理效率,也为PHP应用的部署提供了便利。

weixin_36431814的博客 579

PHP依赖管理利器:composer.phar详解与实战

Composer 是 PHP 生态中事实上的依赖管理工具,它通过声明项目所依赖的外部库及其版本约束,实现自动化下载、版本解析与自动加载集成。其核心价值在于将传统手工管理库文件的方式升级为声明式、可复现的依赖管理体系。上述配置即可让 Composer 自动解决 Guzzle 及其所有子依赖的兼容版本,并生成实现 PSR-4 自动加载。PHAR(PHP Archive)是一种由 PHP 官方支持的归档格式,允许将完整的 PHP 应用打包为.phar。

weixin_42298254的博客 1148

php案例 二进制打包

先看看这个先 phar基础。

qq_37805832的博客 221

从零到英雄:WSL2与Ubuntu22.04的终极性能调优指南

本文详细介绍了如何在Windows系统中通过WSL2与Ubuntu22.04进行性能调优,涵盖内核定制、GPU加速、网络优化等关键技巧,帮助开发者打造媲美原生Linux的高性能开发环境,特别适合AI训练和大数据处理等资源密集型任务。

weixin_29218509的博客 523

swoole-cli build app.php -o myapp,知识体系一共包含哪些部分?底层原理是什么?

swoole-cli build 命令体系├── 核心功能│ ├── 编译 PHP 为二进制│ └── 零依赖部署├── 构建流程│ ├── 依赖扫描│ ├── PHAR 打包│ ├── C 模板嵌入│ └── 静态链接├── 底层组件│ ├── PHP 嵌入式运行时│ ├── Swoole 静态扩展│ ├── PHAR 虚拟文件系统│ └── Bootstrap 启动器├── 原理机制│ ├── 资源嵌入(C 数组)│ ├── 自动协程化│ ├── 事件循环。

长风破浪会有时的博客 1260

OpenWrt路由开启DDNS+端口转发进行外网访问

OpenWrt路由开启DDNS+端口转发进行外网访问(LuCI界面实现)--开篇一、准备工作二、开机!三、连接--结尾 –开篇 本篇适用于一切装有OpenWrt系统的路由器/软路由,只要你保证有WAN接口和一个光猫,甚至你不需要有LAN接口(当然前提是你能连接路由器的WIFI进后台,不然你只能通过LAN进后台咯)。所有的配置过程都是基于LuCI界面来的,当然大神们一般都通过SSH登陆路由使用命令配置,但我也不会啊,只能给个有GUI界面的教程了。 一、准备工作 一个装有OpenWrt系统的路由器/软路由并

秋之颂的博客 9万+

FPGA领域四大顶级会议全景解读:从架构到应用的技术风向标

本文全景解读FPGA领域四大顶级会议(FPGA、FCCM、FPL、FPT),剖析其各自定位与技术风向。FPGA会议聚焦架构与工具创新,FCCM专攻硬件加速与定制计算,FPL覆盖从理论到应用的广泛领域,FPT则重点关注亚太市场与前沿应用。跟踪这些会议是把握FPGA技术演进、寻找创新灵感和应用方案的高效途径。

weixin_29274969的博客 335

如何将PHP的Webman框架打包成二进制文件运行

整个项目变为1个文件,那将来部署起来也方便的多啊,直接把这个文件加入仓库,线上代码更新岂不是更快?不过这也带来了一个问题,就是不方便进行跟踪代码了,所以可以单独做个仓库追踪代码,这个二进制就永远只用来部署。好吧我就按照他说的执行了 php -d phar.readonly=0 ./webman build:bin。现在把这个 webman.bin 拷贝或者移动到别的地方去,再执行起来看看。看了看webman的官方文档,发现居然还能打包为二进制,这样太厉害了吧!3.意味着代码编译了,加载的东西也快了更多。

PHP代码的博客 1358

#基于原生JS的交互式代码高亮编辑器实现教程

本文介绍了一个轻量级交互式代码高亮编辑器的实现方案。该编辑器采用原生JavaScript开发,支持语法高亮、行号显示、主题切换等核心功能,适合嵌入博客、文档等场景使用。 项目技术栈包括HTML5/CSS3/JavaScript,使用Prism.js实现语法高亮,prettier提供代码格式化功能。编辑器界面分三个区域:顶部工具栏(语言选择/主题切换)、中间编辑区(行号+代码)、底部状态栏(语言/字符数)。 核心功能实现包括:通过contenteditable属性创建可编辑区域,Flex布局实现行号与代码同步

qq_42386733的博客 1036

static-php-cli与phpmicro结合:如何创建单文件PHP可执行程序

static-php-cli是一个强大的工具,它能够在Linux、macOS和Windows系统上构建独立的可移植PHP二进制文件,并且可以包含各种流行的扩展。而phpmicro则是一个轻量级的PHP运行时,它允许将PHP代码打包成单个可执行文件。本文将详细介绍如何使用static-php-cli与phpmicro结合,创建单文件PHP可执行程序,让你的PHP应用分发和运行变得更加简单。 ##

gitblog_07674的博客 782

蓝牙调试抓包工具--nRF Connect移动端 使用详细总结

摘要: nRF Connect移动端是一款功能全面的蓝牙低功耗(BLE)调试工具,支持设备扫描、多设备连接、服务/特征值查看及数据读写操作。核心功能包括实时数据通信(读取/写入/通知)、设备固件更新(DFU)以及高级工具如自动化测试和信号分析。兼容Android 4.3+和iOS设备,适用于开发调试(如ESP32/nRF52)、设备管理和数据分析。需注意设备兼容性问题(如旧安卓设备可能需关闭连续扫描),并确保数据类型匹配。配套工具链包括nRF Toolbox和nRF Connect SDK,是BLE开发的必

AIoT深度探索者 | 嵌入式系统架构师 深耕物联网(IoT)与人工智能(AI)融合技术,聚焦​​边缘计算、图像开发、低功耗通信协议​​,致力于智能硬件,关注我获取最新技术文章信息与海量资源~ 2384

simulink的电动汽车制动系统热管理仿真

本文系统研究了电动汽车制动系统热管理仿真技术。通过建立机电液多物理场耦合模型,分析了不同工况下的动态热平衡特性。提出基于MPC的动态调节和NSGA-II多目标优化算法,使电池温度波动降低60%。创新性采用石墨烯相变材料与微通道液冷复合技术,冷却系统能耗减少40%。研究构建了完整的工程验证平台,涵盖200kW电制动测试台和高精度热成像系统。展望指出,未来将结合Transformer预测和强化学习算法,进一步优化热管理策略。该研究为电动汽车制动系统热管理提供了从理论建模到工程实施的完整解决方案。

xiaoheshang_123的博客 122

PHP Phar打包技术详解:从原理到实战部署

在PHP开发中,项目封装与分发是常见的工程需求,尤其是在处理多文件应用和依赖管理时。Phar(PHP Archive)作为PHP的原生打包方案,其核心原理是将整个应用及其依赖打包成单一可执行文件,通过内置的流包装器实现透明访问。这一技术显著提升了代码的便携性和部署效率,使得PHP项目也能获得类似二进制文件的便捷分发体验。从工程实践角度看,Phar不仅支持压缩、数字签名和元数据存储,还能无缝集成Composer依赖管理,适用于命令行工具、SDK分发和微服务部署等场景。结合当前开发者关注的php程序打包dock

keke1314520的博客 356

详细解读经典跨模态对齐技术Q-Former代码

介绍BLIP2的博客层出不穷,介绍Q-Former的博客也不少,但是详细解读Q-Former代码的博客很少。这篇博客希望以代码为基础,讲明白Q-Former的原理和核心思想,并详细解读一些值得注意的细节。希望读者们能从这一经典技术中朝花夕拾,得到启发。

沉迷单车的追风少年 2459

如何用 PHAR 构建 Laravel 命令行工具,知识体系一共包含哪些部分?底层原理是什么?

PHAR 构建 Laravel CLI├── 目标价值│ ├── 独立可执行│ └── 无需环境依赖├── Laravel 基础│ ├── Artisan 命令│ └── Console 组件├── PHAR 机制│ ├── 归档格式├── 构建工具│ ├── humbug/box(推荐)│ └── 手动 Phar 类├── 配置文件├── 底层原理│ ├── phar:// 协议│ ├── 自动加载│ └── 签名验证├── 构建流程│ ├── 扫描文件。

长风破浪会有时的博客 750

爬虫瑞数5案例:联通

瑞数动态安全 Botgate(机器人防火墙)以“动态安全”技术为核心,通过动态封装、动态验证、动态混淆、动态令牌等技术对服务器网页底层代码持续动态变换,增加服务器行为的“不可预测性”,实现了从用户端到服务器端的全方位“主动防护”,为各类 Web、HTML5 提供强大的安全保护。

老衲爱洗头的博客 4470

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PHP PHAR打包进阶指南:使用PHAR Utils实现跨平台签名与兼容性处理

PHP开发者们,你是否在为PHAR文件的跨平台兼容性而烦恼?是否遇到过在不同系统上生成的PHAR文件签名不一致的问题?今天,我将为你介绍一个强大的工具——**PHAR Utils**,它能帮助你轻松解决这些挑战,实现专业的PHP PHAR打包管理!🚀 PHAR Utils是一个专门处理PHAR文件格式的实用工具库,由PHP社区知名开发者Jordi Boggiano创建。这个工具库主要解决PHA

gitblog_01129的博客 512

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

从零到 PHAR:Duster 这款 Laravel 代码检查工具如何打包成可独立分发的 PHP 可执行文件

Duster 是 Tighten 团队开源的 **Laravel 代码风格检查工具(linting tool)**,它一键集成 Pint、PHP_CodeSniffer、PHP CS Fixer 和 TLint,自动为 Laravel 项目应用统一的编码规范。更巧妙的是,它把自己整个打包成了一个独立的 **PHP PHAR 可执行文件**——用户拿到手就能运行,无需关心项目结构。本文将带你从源码层

gitblog_01100的博客 943

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Hyperf Phar打包实战:一键构建企业级PHP应用归档

还在为PHP项目的部署和分发头疼吗?每次发布都要处理复杂的依赖关系和文件传输?Hyperf的Phar打包功能让你告别这些烦恼,一键打包完整应用! 通过本文你将学到: - Phar打包的核心价值与优势 - Hyperf Phar组件的完整使用流程 - 生产环境部署的最佳实践 - 常见问题的解决方案 ## 🚀 什么是Phar打包? Phar(PHP Archive)是PHP的归档格式,类似Ja

gitblog_01003的博客 459

phar反序列化

记录学习phar反序列化的笔记^_^

2402_89015237的博客 1051

PHAR文件验证从未如此简单:Linter类帮你检测PHP代码错误

在PHP开发中,PHAR文件是打包和分发应用程序的常用格式,但如何确保PHAR文件中的PHP代码没有语法错误呢?PHAR Utils项目的Linter类提供了完美的解决方案,让你的PHAR文件验证变得简单高效!😊 ## 什么是PHAR文件验证? PHAR文件验证是指检查PHAR归档文件中包含的所有PHP文件是否存在语法错误。这对于确保发布的应用程序稳定可靠至关重要。传统的验证方法需要解压PH

gitblog_00597的博客 457

2024最新box安装教程:5种方法快速部署PHP应用打包工具

box是一款快速、零配置的PHP应用打包工具,能够帮助开发者将PHP项目打包成PHAR文件,简化部署流程。本文将详细介绍5种最新的box安装方法,帮助你快速部署这个强大的PHP应用打包工具。 [![box PHP应用打包工具](https://raw.gitcode.com/gh_mirrors/box1/box/raw/76cf9d5859b452e337ad11bb0425e2e0c4b05

gitblog_01077的博客 986
上一篇: 简单易用多文件上传插件
下一篇: 注解路由 + ApiDoc接入
Maybe I Simple
博客等级 码龄9年 36粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值