我正在尝试使用 composer require friendsofsymfony/user-bundle "~2.0"
安装fosuserbundle,但出现错误:
Fatal error: Out of memory (allocated 1453326336) (tried to allocate 268435456 b
ytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Depe
ndencyResolver/Solver.php on line 220
我已经搜索了这个问题,我找到了这个答案:作曲家需要记忆的用完。PHP致命错误:允许的记忆尺寸为1610612736字节耗尽
我已经将我的php.ini更改为1024m,但没有任何东西(甚至作曲家更新都会产生相同的错误(,然后到-1没事。
我想知道我可以在哪里找到Composer.phar来使用此命令(我已经通过奇迹安装了我的作曲家(:
php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
更新:
C:wampwwwsym>composer diag
Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB
723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E32
8C AD90147D AFE50952
OK
Checking composer version: WARNING
You are not running the latest stable version, run `composer self-update` to upd
ate (1.4.1 => 1.8.5)
C:wampwwwsym>composer require friendsofsymfony/user-bundle
Using version ^2.1 for friendsofsymfony/user-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocat
e 12 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Compose
r/DependencyResolver/Solver.php on line 220
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-error
s for more info on how to handle out of memory errors.
C:wampwwwsym>
它是Wampserver o的peoblem o有32位吗?是否需要WAPM 64BITS?
这就是我这样做的方式
php -d memory_limit=-1 `which composer` require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle
您必须使用背景而不是单语引号,但是我从来没有遇到过任何问题。
您也可以使用composer.phar文件的真实路径
/usr/bin/composer.phar
或
/usr/local/bin/composer.phar
有用的控制台命令
将php.ini值更改为 -1 。它将允许作曲家使用您的所有免费内存。运行composer diag
检查作曲家状态并重试composer require friendsofsymfony/user-bundle
如果它尚未起作用,它可能是Internet连接问题
有几件事可以帮助很多。
- 确保您正在运行最新版本的作曲家(它说您正在运行v1.4.1-那就是超过两年的历史。
- 确保您至少运行了最新版本的PHP-版本7改进了内存的使用 - 有时会使所使用的内存量减半。版本7.2或(更好(7.3应该是现在使用的版本(2019年春季(。
- 积极限制作曲家必须检查的包装的不同版本的数量,以查看可以使用的内容。
- Roave/SecurityAdvisories是一个不错的开始。这也将阻止您安装已知安全问题的软件包版本。它还将限制有效软件包的搜索空间,从而使作曲家忽略了大量可能的软件包,这意味着它不需要为各种潜在组合保存大量数据。
- 您可以添加其他版本的软件包,以进一步缩小搜索空间。例如,您可能有许多通配符"*"版本(也称为'死亡星版约束'(,这几乎总是一个坏主意。通常,"^2.0"或"^3.4"的形式的版本编号会更好 - 允许从错误框架版本和功能(第三和第二个数字(进行升级,而不是主要版本,而不是主要版本,这些版本通常包含破坏变化。