代码之家  ›  专栏  ›  技术社区  ›  VinZ

php.exe(wamp)不能分配超过1g的内存,即使内存限制设置为-1

  •  1
  • VinZ  · 技术社区  · 6 年前

    因为有几天,我无法使用composer更新我的symfony项目,因为我的wamp安装中的php.exe进程无法分配超过1g的内存…我不记得在我的PHP设置中做过任何更改。

    在php.in i中(是的,正确的),我将内存限制设置为-1。我的作曲家诊断都设置为正常。

    • 我的PHP版本是5.6.18
    • 我的wamp版本是3.1.3
    • 我的操作系统是Windows 7
    • 我的作曲家版本是1.6.5

    它能来自窗户的设置吗?

    以下是我收到的错误消息:

    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
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   VinZ    6 年前

    好的,我找到了一个解决方案:我使用的是wamp 32位,切换到wamp 64位,解决了所有问题。