Composer 很慢怎么办?
🔗 关于 Composer 的详细安装使用,详见之前的文章:在 PHP 中安装、使用 Composer 包管理工具
Composer 在国内不管是更新还是安装都有一个「慢」的问题,有的时候真的很煎熬。
因此我们一般会替换为 Packagist / Composer 中国全量镜像,然而在使用过程发现,这个镜像并不稳定,有时候也会挂掉,所以本文介绍另外两种加速 composer 的方式。
🔗 关于 Composer 的详细安装使用,详见之前的文章:在 PHP 中安装、使用 Composer 包管理工具
Composer 在国内不管是更新还是安装都有一个「慢」的问题,有的时候真的很煎熬。
因此我们一般会替换为 Packagist / Composer 中国全量镜像,然而在使用过程发现,这个镜像并不稳定,有时候也会挂掉,所以本文介绍另外两种加速 composer 的方式。
Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
Composer官网 https://getcomposer.org
Composer Github 地址 https://github.com/composer/composer
Composer中国镜像 http://www.phpcomposer.com
阿里云全量镜像(👍 推荐):https://developer.aliyun.com/composer
Packagist
它是 Composer 主要的一个包信息存储库,包开发者将具体代码托管到 Github 上,将包信息提交到 Packagist 上,这样使用者就可以通过 Composer 去使用。它的执行顺序如下:
composer.json
信息去查询 Packagist;composer.json/package.json
信息解析,最终对应到Github 仓库;composer.json
下载代码到本地。composer.json
这是 Composer 的核心,主要用来配置 Composer 的执行规则。
自动加载
Composer 基于 PHP 命名空间和 PSR-4 标准开发、集成了一个自动加载器。
➜ which php |
相关资源
下面是节选自官方对 Vagrant 的说明:
WHY VAGRANT?
Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.
To achieve its magic, Vagrant stands on the
oulders of giants. Machines are provisioned on top of VirtualBox, VMware, AWS, or any other provider. Then, industry-standard provisioning tools such as shell scripts, Chef, or Puppet, can be used to automatically install and configure software on the machine.
其实,说白了 Vagrant 就是一个普普通通的装了 Linux 的 VirtualBox 虚拟机,配以 Vagrant 团队为之开发的一系列套件,辅助完成诸如安装初始化、文件同步、ssh、部署环境升级、功能插件安装等等一些列问题的开发环境部署套件。
参见知乎话题:Vagrant 和 Docker的使用场景和区别?
解决的痛点:
版本:v5.1.x LTS
v6.0 稳定版已经发布,详见官网:ThinkPHP 6.0
这里以单入口为例解析 ThinkPHP 从接收前端请求到返回数据的整个执行流程,分为如下图的几个步骤:
其中入口文件位置:public/index.php