【问题标题】:VirtualAlloc() failed: [0x00000008] Not enough storage is available to process this commandVirtualAlloc() 失败:[0x00000008] 没有足够的存储空间来处理此命令
【发布时间】:2017-11-13 11:37:42
【问题描述】:

我遇到这个错误很久了,我的生产环境是在windows 2008 R2企业平台上运行Apache 2.4和php7。

我的错误日志充满了这些行 VirtualAlloc() 失败:[0x00000008] 没有足够的存储空间来处理此命令。 VirtualFree() 失败:[0x000001e7] 尝试访问无效地址

一段时间后它会导致 500 错误,后来我必须重新启动服务器,它只能正常工作一段时间。

请帮我解决这些问题 我已经尝试从 php 和 wordpress 端更新内存但仍然没有帮助

【问题讨论】:

  • 可能会有帮助:-stackoverflow.com/a/40033719/4248328
  • 我检查了所有插件,我只使用有限的插件,这不是因为插件。请帮助我找到这个问题的根本原因,我已经检查了本地设置,在本地环境中也没有内存问题
  • 我们有同样的问题,但不确定如何解决。你最终解决了这个问题吗?
  • 我在升级 XAMPP 时遇到了这个问题,所以我假设它是从 PHP 5 升级到 7。但我不知道如何修复它并每天遇到这些确切的症状。

标签: php wordpress windows apache


【解决方案1】:

您的项目可能没有在适当的架构上设置

你的 PHP 是 32 位的吗?检查PHP_INT_SIZE 常量以找出答案。

print_r(PHP_INT_SIZE); # 4 == 32bit // 8 == 64bit

Windows Server 2008 R2 是 x64 操作系统,因此 x86 版本的 Apache +/- x86 PHP 可能会限制您可能已安装在计算机上并尝试分配的内存。在 x86 版本上,您将无法分配超过 2G 的容量。

【讨论】:

    【解决方案2】:

    如果我这样做,我会收到此错误

    composer update
    

    当我尝试时它对我有用

    composer install
    

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误,这个命令在 localhost 上为我解决了问题

      php -d memory_limit=-1 "C:/ProgramData/ComposerSetup/bin/composer.phar"
      

      然后做composer update

      【讨论】:

        【解决方案4】:

        只需更新最新版本的作曲家

        https://getcomposer.org/download/

        否则执行以下步骤

        此设置仅在本地机器(命令)中

        检查 PHP 内存

        php -r "echo ini_get('memory_limit');"
        

        输出:

        128M
        

        了解PHP路径

        php --ini
        

        输出:

        Configuration File (php.ini) Path: C:\Windows
        Loaded Configuration File:         C:\xampp72\php\php.ini
        Scan for additional .ini files in: (none)    
        Additional .ini files parsed:      (none)
        

        只需更新您的内存限制

        ; Maximum amount of memory a script may consume (128MB)
        ; http://php.net/memory-limit
        memory_limit=512M
        

        无限内存访问

        memory_limit=-1
        

        或 只需为 windows 运行

        php -d memory_limit=-1 "C:\ProgramData\ComposerSetup\bin\composer.phar" update
        

        注意: 我建议必须下载最新的作曲家版本

        作曲家-v

        【讨论】:

          【解决方案5】:

          更新对我有用的 php.ini 文件。 如果您使用的是 Windows 机器,您可以尝试将内存限制增加到 2 GB,正如 Laravel 建议的那样,在您的 php.ini 中。 在 XAMPP 上,它位于 C:\xampp\php\php.ini

          ; Maximum amount of memory a script may consume (128MB)
          ; http://php.net/memory-limit
          memory_limit = 2G
          

          重启 XAMPP 服务器并再次运行 composer update。

          之前:

          之后:

          【讨论】:

            猜你喜欢
            • 2014-06-23
            • 2015-01-22
            • 2012-05-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-05-17
            • 1970-01-01
            相关资源
            最近更新 更多