【问题标题】:php.exe (WAMP) cannot allocate more than 1G memory, even with memory _limit set to -1php.exe (WAMP) 不能分配超过 1G 的内存,即使内存 _limit 设置为 -1
【发布时间】:2018-10-30 19:45:11
【问题描述】:

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

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

  • 我的PHP版本是5.6.18
  • 我的 WAMP 版本是 3.1.3
  • 我的操作系统是 Windows 7
  • 我的 Composer 版本是 1.6.5

它可能来自 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

【问题讨论】:

  • 几天前我遇到了这个问题,我修复了将我的 symfony 项目传递给 PHP 7
  • @JassonRojas 那么您是否也将 WAMP 升级到了 PHP7 版本? 32 位还是 64 位?
  • 实际上,当我搜索这么多时,我找到了两个解决方案,一个是将您的 xampp 升级到 64 位版本,但如果这不起作用,您必须手动在 Windows 上安装 PHP。首先在此处下载您要使用的 php 版本:windows.php.net/download。然后你必须提取文件夹并将文件夹添加到你的电脑的环境变量中(确保不要从环境变量中删除 Xampp php 版本),就是这样。对我来说,第二种解决方案就像一个魅力!希望它有效!
  • 我会试试这个...我感觉这可能与我使用的 32 位 WAMP 版本有关。

标签: php windows symfony memory composer-php


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-09-21
    • 2018-10-22
    • 2023-03-04
    • 2012-04-04
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2019-05-07
    • 1970-01-01
    相关资源
    最近更新 更多