PHP 如何优雅的打包部署, 类似 install 那样的

359 天前
 miaotaizi

用 PHP 给朋友做了个小的管理系统, 只想给他在本地体验体验, 有没有什么简单的安装办法?

只要 点点鼠标下一步的那种

4859 次点击
所在节点    PHP
41 条回复
zhenrong
359 天前
这个时候就体现 golang 这种能直接打包成二进制输出的优越性了。
cheng6563
359 天前
windows 跑 docker 自讨没趣吗?
把项目丢进 xampp ,然后一起压缩,告诉客户放哪里点哪个启动。
lzj307077687
359 天前
win 跑 docker 不还得指导他进 bios 开虚拟化
uplee
359 天前
https://github.com/crazywhalecc/static-php-cli 打包可以的,然后第一次启动的时候初始化
barbery
359 天前
phar
brader
359 天前
这个很简单啊,别搞 docker ,对于小白,只会复杂化,你把项目代码,PHP 环境,都塞在一个文件夹里,告诉他不需要动和关心这个文件夹,在文件夹外面,给他写个 bat 脚本,里面就是启动 php 环境的命令,然后就能跑了
wflanglanglang
359 天前
对费劲啊 lnmp 打好之后,直接从 git 去拉不好吗?给他写个文档,两行命令的事
BeforeTooLate
359 天前
vagrant + Puppet 或 Chef
dko
359 天前
想想当年 asp 时代还有个 netbox ,php 的一般就是 phpstudy ,然后搞个一键脚本 call 浏览器吧。
akiyamamio
359 天前
用这个吧,别人甚至连 php 环境都不需要了,直接使用

https://www.workerman.net/doc/webman/others/bin.html
brader
359 天前
简单本地使用的话,这样搞就行了,project/php 放的是 PHP 环境,使用者无需关心 project 目录里面有什么,只需要点击启动脚本就行了
em70
359 天前
远程协助,直接去部署就好了,如果只是体验或者要给非特定人群用就直接部署服务器 SAAS,有做一键本地化的时间早就手动部署好了
mrpzx001
359 天前
@akira 楼上提的 static-php-cli/swoole-cli 就是,想来 static-php-cli 的作者也没发多大的财
lisxour
359 天前
@mrpzx001 这类方案都是有损的,跟直接用 php 跑会有运行差异性,最优雅的方式现在除了将一切环境打包成独立的程序,后台释放再启动服务器,其他方案都多多少少有点问题,和 node 处境是一样的。
likunyan
359 天前
到时候更新呢?还是要服务器部署。你给他弄本地体验,到时候电脑卡了怪你。
james122333
359 天前
如果你是使用类 unix 系统 可以很优雅
php 本来就是类 unix 系统使用者使用最爽
最原始最方便的方法就是 chroot 不用 root 权限就是 proot
将资料夹当作根目录 所有东西装在里面 也是安卓系统跑其他 linux 的方法 其中又以 archlinux 最为方便 安装 archlinux 途中就用 pacstrap 把包装进去再 chroot
https://wiki.archlinux.org/title/installation_guide
其它发行版则可以用以下方式配置 arch
https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux
这也是为什么 arch 其实可以作为 server
好处是配置方便 需要多装什么如数据库其他 php 扩展的包直接 chroot 进去用包管理器装好就可以
还没有 docker 那么麻烦 弄好直接额外写启动脚本用 chroot 启动 server 即可 然后将该脚本与根目录资料夹打包起来就可以
然后对方随便装个好装简便的发行版你再给他少少的说明就可以

请放弃 windows XD
james122333
359 天前
至于数据库资料可以储存在根资料夹外面
如果你会使用
james122333
359 天前
当然也可以搭配 docker 这样 docker image 就可以不用更新 每次重新 build image 很花时间的
dcsuibian
359 天前
软件安装包一般适用于客户端软件,b/s 软件这么干的真的很少
cwcc
358 天前
如果是 workerman ,swoole ,swow 等类似 cli 项目,可以使用 static-php-cli ,然后写一个简单的启动脚本就可以让它运行(当然还没支持 win 后续会支持)。如果是 fpm 模式的项目,还是推荐要么自己部署服务器上让他体验。如果一定要本地化运行,不使用 docker 的话可以使用 sqlite 作为临时数据库,把 php 官网的 windows 发行版下载下来,写脚本用 php -S 启动一个服务器并自动打开浏览器。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/940901

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX