2014-02-14 108 views
1

运行在cmd中出错:对作曲家更新内存

$ php -d memory_limit=-1 -f composer.phar update 
Loading composer repositories with package information 
Updating dependencies 

Fatal error: Out of memory (allocated 121896960) (tried to allocate 24 bytes) in E:\Releases\test\vendor\composer\composer\src\Composer\DependencyResolver\Rule.php on line 50 

测试在OS:

  • 的Ubuntu 13.04 确定[PHP 5.4.24]
  • Windows 7的ok[PHP 5.4.25nts VC9 x86]
  • 的Windows XP 失败[PHP 25年5月4日NTS VC9 86]

的php.ini

memory_limit = 1024M 

我忘了说,剧本是在包装上运行。 直接进入控制台的作品,而不是在一个包装

if (defined('PHP_WINDOWS_VERSION_BUILD')) { 
    pclose(popen('start /b '.$command, 'r')); 
} else { 
    exec($command.' &'); 
} 
+0

只是用于测试的缘故,你的php.ini是怎么说的? – Soundz

+0

添加php.ini的信息。顺便说一句121896960 byte = 116,25 Mb – ghost404

+0

忘了说包装 – ghost404

回答

1

我已经有这个问题唯一的工作,只是占用的内存限制在php.ini(对我来说,1Go)

+0

我设置-1作为限制。它禁用内存限制http://www.php.net/manual/en/ini.core.php#ini.memory-limit – ghost404

+2

如果我设置了1GB的限制,问题仍然存在 – ghost404

+0

@ ghost404你确定你修改了正确的'php.ini'?你需要修改cli版本。 – nietonfir