首页 > 解决方案 > php.exe (WAMP) 不能分配超过 1G 的内存,即使内存 _limit 设置为 -1

问题描述

几天以来,我无法使用 Composer 更新我的 Symfony 项目,因为我的 WAMP 安装中的 php.exe 进程无法分配超过 1G 的内存……我不记得对我的 PHP 设置进行了任何更改。

在 php.ini(是的,正确的)中,我将 memory_limit 设置为 -1。我的作曲家诊断都设置为 OK。

它可能来自Windows设置吗?

这是我收到的错误消息:

Fatal error: Out of memory (allocated 1397751808) (tried to allocate 268435456 bytes) in phar://C:/wamp/www/DESiwid/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220
Segmentation fault

我编码分配的 PHP 测试独立脚本有同样的错误:

set memory_limit to 810M
memory limit is 810M
try allocating 800 megabyte...pass.Usage: 800.5 Peak: 800.5
memory_limit (get value):849346560
set memory_limit to 860M
memory limit is 860M
try allocating 850 megabyte...pass.Usage: 850.5 Peak: 850.5
memory_limit (get value):901775360
set memory_limit to 910M
memory limit is 910M
try allocating 900 megabyte...pass.Usage: 900.5 Peak: 900.5
memory_limit (get value):954204160
set memory_limit to 960M
memory limit is 960M
try allocating 950 megabyte...
Fatal error: Out of memory (allocated 262144) (tried to allocate 996147201 bytes
) in C:\wamp\www\_test\memory.php on line 5

标签: phpwindowssymfonymemorycomposer-php

解决方案


好的,我找到了解决方案:我使用的是 WAMP 32 位,然后切换到 WAMP 64 位,这解决了所有问题。


推荐阅读