原文链接:https://www.wjcms.net/archives/2020-10-05-20-03-19
今天在使用composer安装扩展包时报错,以下:php
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/server/php/74/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///www/server/php/74/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223 Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.#
因而折腾了好久,终于仍是成功了,写下文章记录一下,分享给你们。linux
在网上找到的文章以下,apache
经过上面提示composer连接,输出内存配置信息 php -r "echo ini_get('memory_limit').PHP_EOL;" 输出 128M 我尝试修改 php.ini文件,个人路径是 /etc/php7/apache2/php.ini,修改里面的 memory_limit = -1, 重启apache以后,运行 composer update 同样的错误,我想到的是可能 php 命令和apache2的 php.ini文件不是同一个,因此 wakasann@linux-2ywt:/srv/www/htdocs/sfs> sudo find / -name "php.ini"[sudo] password for root: /etc/php7/cli/php.ini/etc/php7/apache2/php.ini/etc/php7/fastcgi/php.ini 我尝试修改 /etc/php7/cli/php.ini 中的 memory_limit的值为 -1,修改完以后,运行 php -r "echo ini_get('memory_limit').PHP_EOL;" 输出结果是: -1 感受修改为功,composer update也可正常运行了。
能够成功解决,可是不安全,在这里不推荐使用。安全
终极解决方法
这里写下个人推荐方法,就是使用命令安装。php7
php -d memory_limit=-1 /usr/bin/composer require xxxx/xxxxxxx
就能够发现安装成功了。 composer
注意
上述命令中的/usr/bin/composer,为composer安装地址 可以使用 composer -h
命令进行获取。ui
关注我,天天分享更多文章。.net