Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP编写器:调试自定义存储库的缓存未命中';s packages.json_Php_Composer Php - Fatal编程技术网

PHP编写器:调试自定义存储库的缓存未命中';s packages.json

PHP编写器:调试自定义存储库的缓存未命中';s packages.json,php,composer-php,Php,Composer Php,我正在使用带有自定义存储库的PHP composer。由于我无法自行调试的原因,composer每次运行命令时都会下载存储库的包.json $ composer.phar --profile -vvv --no-dev --repository-url=http://packages.firegento.com create-project magento-hackathon/magento-composer-installer . [4.2MB/0.05s] Downloading http:

我正在使用带有自定义存储库的PHP composer。由于我无法自行调试的原因,composer每次运行命令时都会下载存储库的
包.json

$ composer.phar --profile -vvv --no-dev --repository-url=http://packages.firegento.com create-project magento-hackathon/magento-composer-installer .
[4.2MB/0.05s] Downloading http://packages.firegento.com/packages.json
[70.6MB/152.18s] Writing /Users/alanstorm/.composer/cache/repo/http---packages.firegento.com/packages.json into cache
...

$ composer.phar --profile -vvv update
[3.7MB/0.01s] Reading ./composer.json
[4.2MB/0.02s] Executing command (CWD): git describe --exact-match --tags
[4.4MB/0.03s] Executing command (CWD): git branch --no-color --no-abbrev -v
[4.5MB/0.05s] Executing command (CWD): hg branch
[4.5MB/0.12s] Executing command (CWD): svn info --xml
[6.6MB/0.17s] Loading composer repositories with package information
[6.8MB/0.19s] Downloading http://packages.firegento.com/packages.json
[73.2MB/125.50s] Writing /Users/alanstorm/.composer/cache/repo/http---packages.firegento.com/packages.json into cache
第一次读取为152.18秒,第二次读取为125.50秒

这与标准packagist
packages.json的行为背道而驰,composer似乎只下载一次,然后从缓存中读取

如何进一步调试此缓存未命中?我对composer了解不够,无法快速跟踪“我需要从缓存中获取此信息”逻辑的位置,而且我无法控制自定义存储库服务器


此外,缓存命中/未命中理论也有可能是我完全错了,所以对于这种缓慢行为的任何其他想法都是值得赞赏的

根据设计,Composer不会缓存主
packages.json
文件,因此我关于缓存未命中的问题是无效的。如果您看到
packages.json的下载速度很慢,那么最好的选择是

  • 在提供此文件的服务器上启用gzip压缩

  • packages.json
    文件拆分为多个文件


  • 赛尔夫回答了吗?@biship-Yup-composer并不打算缓存那个文件,所以这个问题从一个无效的前提开始。在这个特殊的例子中,我们使用gzip压缩加快了速度。