Memory 致命错误:MAMP更新后允许的内存大小耗尽
我知道这个问题可以在这个论坛和互联网上找到很多时间。但我似乎找不到我具体问题的答案 我正在运行一个Drupal网站,自从MAMP从5.5更新到5.6后,我得到以下错误:Memory 致命错误:MAMP更新后允许的内存大小耗尽,memory,composer-php,Memory,Composer Php,我知道这个问题可以在这个论坛和互联网上找到很多时间。但我似乎找不到我具体问题的答案 我正在运行一个Drupal网站,自从MAMP从5.5更新到5.6后,我得到以下错误: 致命错误:在终端中运行编写器require时,允许的内存大小为1610612736字节(尝试分配4096字节) 我将php.ini更新为1024MB,而不是通过MAMP运行的当前php版本的128MB。当我用将一个php文件添加到我的根目录中时,我看到内存就像我想要的那样为1024MB。当我查看PHPINI文件的位置时,我看到它
致命错误:在终端中运行编写器require
时,允许的内存大小为1610612736字节(尝试分配4096字节)
我将php.ini更新为1024MB,而不是通过MAMP运行的当前php版本的128MB。当我用
将一个php文件添加到我的根目录中时,我看到内存就像我想要的那样为1024MB。当我查看PHPINI文件的位置时,我看到它在MAMP文件夹中
但我仍然得到了错误。当我在终端中运行这个php-r“echo ini_get('memory_limit').php_EOL;”
时,我又看到了128MB。当我试图使用
php-i | grep'php.ini'
我得到:
Configuration File (php.ini) Path => /etc
看起来php.ini文件在其他地方。但我不知道在哪里,也不能改变它。我怎样才能解决这个问题
我还尝试使用php-d memory\u limit=-1/usr/bin/composer
更改composer内存,但这也没有解决问题
我的问题是,我如何解决这个问题?如何找到所使用的php.ini文件。或者如何更改内存限制
更新:
在终端输出中运行php-i | grep“配置文件”
:
Loaded Configuration File => (none)
也许我很高兴知道,我有一个选项,可以让这个版本在MAMP php部分的命令行中可用。更改php.ini中的内存量不会有帮助-这是Web服务器版本php使用的限制-并且Web服务器有太多的可用空间可能会导致问题(至少在生产中运行时) Composer在从命令行运行时,默认情况下会将限制设置为 显然,您仍然使用PHP5.6,这也是一个相当大的问题。PHP7+在内存方面效率更高,最新版本的composer也是如此
最后,要真正解决这个问题:限制您的需求更加具体,因为这样可以降低内存使用率。我最终在我的计算机上的
/etc
文件夹中添加了一个php.ini
文件。这样,php内存限制就起作用了。在终端中检查它确实显示了正确的值。但正如Alister already说,这并没有解决问题。问题不在php.ini内存限制中
我发现在会话开始时在终端中使用COMPOSER\u MEMORY\u LIMIT=-1
会在终端会话期间将内存限制设置为unlimited。这解决了问题
在此之后,我将,alias composer=“composer\u MEMORY\u LIMIT=-1 composer”
添加到我的bash文件中,并知道一切都像我预期的那样工作。我尝试了许多关于此问题的建议和一些其他堆栈溢出问题,但在尝试以下方法之前,它无法正常工作:
COMPOSER_MEMORY_LIMIT=-1 composer require 'yourpackagenamehere'
在运行命令之前,仅尝试COMPOSER_MEMORY_LIMIT=-1似乎不起作用。不确定原因,但我必须在同一命令行上以与COMPOSER疑难解答中所述类似的方式运行它们:嗨,我运行的不是PHP5.6,而是mamp 5.6。我使用的是PHP7.3.9。我使用COMPOSER运行的真正需求是COMPOSER需要drupal/show\u标题