xiaosongshu / bags
PHP代码打包服务,将PHP代码打包成可执行文件,兼容Windows和Linux。
v0.0.1
2024-08-29 03:38 UTC
Requires
- php: >=8.0
- xiaosongshu/animation: ^0.0.5
This package is auto-updated.
Last update: 2024-09-29 03:52:48 UTC
README
简介
将动画项目打包成可执行文件
用法
打开本项目的./Demo.php
文件,其中有一个run()
方法,这是入口函数,你可以将你的业务代码放到这里,下面是一个示例:
<?php /** * @purpose 业务代码 */ class Demo { /** * 入口函数 * @return void * @note 添加一场流星雨 */ public function run() { $client = new \Xiaosongshu\Animation\Client(0, 0, 1); $config3 = ['maxStars' => 10, 'numStars' => 10, 'isWaterLine' => true, 'distanceX' => 0, 'distanceY' => 0, 'distanceXStep' => 2, 'distanceYStep' => 1, 'directionX' => 0, 'directionY' => 0,]; $client->addStarRain($config3); $client->run(); } }
打包命令
php -d phar.readonly=0 ./index.php
运行可执行文件
打包完成后,在Windows环境下会生成可执行文件./build/songshu.exe
,双击即可执行,也可以在命令行中直接键入./build/songshu.exe
来运行。
如果是Linux环境,打包会生成./build/songshu.bin
可执行文件,直接在命令行中键入./build/songshu.bin
即可执行。
关闭可执行文件
在命令行窗口中键入ctrl + c
即可关闭。
PHP静态文件下载
https://github.com/dixyes/lwmbs/actions
参考文献
https://www.workerman.net/a/1635 https://www.workerman.net/a/1637
实现原理
首先将业务代码打包成phar文件,写入引导文件。然后将PHP静态文件写入到可执行文件头,将phar压缩文件追加到可执行文件后面,最后给可执行文件追加执行权限。在实际业务场景中,业务可能需要很多不同的扩展,那么请下载对应的PHP静态文件,或者自己编译。另外,可能业务代码被编译进去后会出现bug,那么需要你自己去检验并修正。
其它
本项目,你只可以修改./Demo.php
的代码,其它文件请不要修改,除非你真的明白项目的运行原理。