怎么使用默认的 PHP 执行 phar 包?
发布于 2023-07-18
1076
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
文章总结了作者在开发一个安装程序并将其打包为phar文件时遇到的问题。问题在于,尝试直接执行打包后的phar文件(例如使用./install.phar)时出现了报错,而使用php install.phar则能正常运行。
具体的错误信息包括“没有找到文件”、“未发现的命令”以及“语法错误”。作者确认按照正常的phar打包流程操作是没有问题的,但是直接执行确实会出错,这一点在网上搜索未能找到答案。
后来,作者参考了composer(一个PHP的依赖管理工具),它可以不通过PHP命令直接执行。通过查看composer的源码,作者发现了一个可能的解决方案。在composer的compile方法中,作者注意到了一个setStub的操作,并且这个操作涉及到了getStub()方法。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
解决Docker端口映射无法访问问题
这是一个过于沙雕的问题。
编译安装PHP8和Swoole4
PHP8 在 6 月 25 号发布了 alpha1 版本,JIT 是大家最为关心的一个功能
Nginx目录浏览并进行美化
Nginx 作为一个高性能的 HTTP 和反向代理 web 服务器,默认不允许列出站点的整个目录,如果需要开启,可以通过配置打开此功能。
解决 Laravel 单元测试报错:A facade root has not been set
建议直接使用命令行操作相关操作
新注册的域名被微信拦截怎么处理?
前段时间新注册了一个域名,没有在微信测试访问,等用到的时候发现居然被微信拦截了...
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线