简体   繁体   中英

PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 16777216 bytes)

I ran composer install on my 16 GB Mac Book Pro, and I got this

 ⚡️  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 

which 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/

How would one go about debugging this further?

Your machine might have 16GB installed but PHP is not configured to use it. Locate your php.ini file (on OSX with PHP installed by Homebrew its at /usr/local/etc/php/$PHP_VERSION/php.ini . Open it with an editor and search for memory_limit . There you specify how much memory a PHP process can use. If you like to give it all change the value to -1 .

$PHP_VERSION is the version of your PHP installation. To figure out which is installed use php --version .

Set COMPOSER_MEMORY_LIMIT=-1 in your terminal when run composer install command.

Run COMPOSER_MEMORY_LIMIT=-1 composer install instead of composer install

Running COMPOSER_MEMORY_LIMIT=-1 in front of php will work, but is not the best solution. Ideally you need to set the memory_limit settings to a higher value.

I have installed php@7.4 with brew and it works fine, however somehow the php.ini being in use is the default one on mac and not the one with php@7.4, even tho when I do php --ini and php -v it points to my brew version.

I fixed the memory issue by increasing the memory_limit in /etc/php.ini .. while php --ini tells me that my ini file is in /usr/local/etc/php/7.4/php.ini

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM