怎么使用默认的 PHP 执行 phar 包?
发布于 2023-07-18
965
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
文章总结了作者在开发一个安装程序并将其打包为phar文件时遇到的问题。问题在于,尝试直接执行打包后的phar文件(例如使用./install.phar)时出现了报错,而使用php install.phar则能正常运行。
具体的错误信息包括“没有找到文件”、“未发现的命令”以及“语法错误”。作者确认按照正常的phar打包流程操作是没有问题的,但是直接执行确实会出错,这一点在网上搜索未能找到答案。
后来,作者参考了composer(一个PHP的依赖管理工具),它可以不通过PHP命令直接执行。通过查看composer的源码,作者发现了一个可能的解决方案。在composer的compile方法中,作者注意到了一个setStub的操作,并且这个操作涉及到了getStub()方法。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
使用Composer Scripts为依赖进行瘦身
常见的 SDK 都会将所有功能都集成在一个代码库中,本文以腾讯云开发者工具套件(SDK)3.0 为例。
解决 Laravel 单元测试报错:A facade root has not been set
建议直接使用命令行操作相关操作
Swoole v4.6 版本新特性之 SNI 支持
Swoole 在 v4.6.0 版本中对 SNI 进行了支持,这篇文章就对这个新特性进行一些演示和说明。
通过微信开放平台授权获取公众号文章
如果想要实现一个将公众号文章搬运到某个社区中去发布的功能,除了使用爬虫等方法,还可以通过微信开放平台授权,调用官方接口来获取公众号文章。
GitHub Actions 真香系列之自动同步镜像仓库
GitHub虽然在国内访问慢,但是依旧不能阻挠国内开发者的使用,我们一般也会在Gitee或者其他托管平台创建一个镜像,用来方便不能正常访问GitHub的开发者。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线