我在16 GB
Mac Book Pro上运行了作曲家安装,我得到了这个
⚡️ distributor-portal composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 16777216 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 220
Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 16777216 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 220
Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.⚡️ distributor-portal
哪个 PHP
/usr/local/php5/bin/php
php --version
PHP 7.1.4 (cli) (built: May 6 2017 10:02:00) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.1.4, Copyright (c) 1999-2017, by Zend Technologies
cd/usr/local/; ls -lrt
total 0
lrwxr-xr-x 1 root wheel 26B Jan 23 2017 openssl@ -> mac-dev-env/openssl-1.1.0c
lrwxr-xr-x 1 root wheel 37B Jul 5 2017 php5@ -> /usr/local/php5-7.1.4-20170506-100436
lrwxr-xr-x 1 root wheel 30B Oct 9 2017 mysql@ -> mysql-5.7.19-macos10.12-x86_64
-rw-r--r-- 1 root wheel 0B Dec 12 14:47 .com.apple.installer.keep
drwxr-xr-x@ 10 root wheel 320B Dec 12 15:51 ../
drwxr-xr-x 3 root wheel 96B Dec 12 15:52 mac-dev-env/
drwxr-xr-x 3 root wheel 96B Dec 12 15:53 remotedesktop/
drwxr-xr-x 21 root wheel 672B Dec 12 15:53 ./
drwxr-xr-x 15 bheng admin 480B Dec 12 15:53 etc/
drwxr-xr-x 14 501 wheel 448B Dec 12 15:54 packager/
drwxr-xr-x 25 bheng admin 800B Dec 12 15:54 share/
drwxr-xr-x 14 root wheel 448B Dec 12 15:54 php5-7.1.4-20170506-100436/
drwxr-xr-x 71 bheng admin 2.2K Dec 12 15:54 Cellar/
drwxr-xr-x 11 bheng admin 352B Dec 12 15:54 var/
drwxr-xr-x 396 bheng admin 12K Dec 12 15:54 bin/
drwxr-xr-x 13 bheng admin 416B Dec 12 15:54 php5-5.6.14-20151002-085853/
drwxr-xr-x 80 bheng admin 2.5K Dec 12 15:54 opt/
drwxr-xr-x 13 root wheel 416B Dec 12 15:54 mysql-5.7.19-macos10.12-x86_64/
drwxr-xr-x 17 bheng admin 544B Dec 12 15:54 Homebrew/
drwxr-xr-x 122 bheng admin 3.8K Dec 12 15:54 include/
drwxr-xr-x 231 bheng admin 7.2K Dec 12 15:54 lib/
如何进一步调试?
您的计算机可能安装了 16GB,但 PHP 未配置为使用它。找到你的php.ini文件(在OSX上,由Homebrew安装PHP它在/usr/local/etc/php/$PHP_VERSION/php.ini
。使用编辑器打开它并搜索memory_limit
.在这里,您可以指定 PHP 进程可以使用的内存量。如果您想全部提供,请将值更改为-1
.
$PHP_VERSION
是 PHP 安装的版本。要确定安装了哪个,请使用php --version
。
运行作曲家安装命令时在终端中设置COMPOSER_MEMORY_LIMIT=-1
。
Run COMPOSER_MEMORY_LIMIT=-1 composer install instead of composer install
在 php 前面运行COMPOSER_MEMORY_LIMIT=-1
是可行的,但不是最好的解决方案。理想情况下,您需要将memory_limit
设置设置为更高的值。
我已经安装了带有brew的php@7.4
并且它工作正常,但是不知何故,正在使用的php.ini是Mac上的默认版本,而不是带有php@7.4的php,即使当我php --ini
并php -v
它指向我的brew版本时也是如此。
我通过增加/etc/php.ini
中的memory_limit来解决内存问题,而 php --ini 告诉我我的 ini 文件是/usr/local/etc/php/7.4/php.ini