怎么使用默认的 PHP 执行 phar 包?
发布于 2023-07-18
1548
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
文章总结了作者在开发一个安装程序并将其打包为phar文件时遇到的问题。问题在于,尝试直接执行打包后的phar文件(例如使用./install.phar)时出现了报错,而使用php install.phar则能正常运行。
具体的错误信息包括“没有找到文件”、“未发现的命令”以及“语法错误”。作者确认按照正常的phar打包流程操作是没有问题的,但是直接执行确实会出错,这一点在网上搜索未能找到答案。
后来,作者参考了composer(一个PHP的依赖管理工具),它可以不通过PHP命令直接执行。通过查看composer的源码,作者发现了一个可能的解决方案。在composer的compile方法中,作者注意到了一个setStub的操作,并且这个操作涉及到了getStub()方法。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
Think-Swoole如何设置Swoole提供的配置项
think-swoole 的文档极少,官方文档中也只是说了如何启动、热更新、连接池等配置
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
在 MQTT 5.0 协议中增加了很多属性。不同的报文类型之间,属性也会不同,一共有 27 种属性。
为 Docsify 自动生成 RSS 订阅
为Docsify等静态站点自动生成RSS订阅
HMAC 签名编码的坑:Go 和 PHP 的不同处理方式
本文将以 Go 和 PHP 为例,探讨为什么直接对 HMAC 签名进行 Base64 编码与先转换为 16 进制字符串再编码的结果不同。
PHPMQTT v1.4.1 版本发布,新增协议调试工具
PHPMQTT v1.4.1 版本发布,在此版本中主要是新增了一个协议调试工具。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线