加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

Composer 中国全量镜像开源了,一起让 PHP 社区更繁荣

发布时间:2019-05-30 08:40:46 所属栏目:评测 来源:WantoDel
导读:副标题#e# 先上链接:https://github.com/zencodex/composer-mirror ZComposer 镜像诞生于 2017 年 3 月份,至今已不间断稳定运行 2 年多了。如何保证Composer 镜像的稳定性,是面临的最大难题,所以简单聊一些开发和解决问题的思路,希望能对你有一点启发

如果使用非又拍云的其他平台,需要注意以下代码,需要自行实现

  • ClientHandlerPlugin 需要 Flysystem 的对应 Adapter 有对应接口,本例中只有 zencodex/flysystem-upyun 实现了,其他第三方包,可以参照样例自行实现
  • Cloud::refreshRemoteFile,作用是刷新 CDN 缓存的文件,这个每日有调用频率限制,所以只刷新 package.json 时使用
  • Cloud::refreshRemoteFile,如果使用非又拍云的平台,需要替换为自己平台刷新代码。或者参照 ZenCodexSupportFlysystemAdapterUpyunAdapter 封装 getClientHandler。
  • Cloud::prefetchDistFile 和 refreshRemoteFile 类似,调用的是云平台特殊接口,无法统一封装在 Flysystem,所以也通过 getClientHandler 处理

注意最大子目录数的坑

代码详情见 src/Commands/PatchCommand.php

  1. /* 
  2. |-------------------------------------------------------------------------- 
  3. | linux ext4 支持的最大子目录数有上限,大约 64000 ~ 65000,目前包的数量已经超过上限 
  4. |-------------------------------------------------------------------------- 
  5. | 有三种解决方法,前2种基本不现实。所以自己通过尝试,找到了3 (软连接不计数的方案) 
  6. |   1. 更换没有子文件夹数量限制的文件系统,比如 xfs  
  7. |   2. 或者更改相关代码,重新编译 ext4 内核 
  8. |   3. 切割大的文件夹,分散不同字母开头的文件。在主文件夹里面使用软连接,软连接并不计数 
  9. */ 

【编辑推荐】

  1. Rancher 开源 Rio,整合 Istio、Knative 与 Kubernetes 能力
  2. 国内十大技术突破盘点,我们也有世界领先的工艺!
  3. 开源春天,此时不来,更待何时?
  4. VMware 开源混沌工程编排工具 Mangle
  5. 开源免费图形编辑器Krita将于周三推送4.2版本更新
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!