您好,欢迎访问一九零五行业门户网

composer install, mmap() failed: [12] Cannot allocate memory

阿里云centos7环境中, 内存1g, 当我执行composer require hwi/oauth-bundle时。 get一个错误,mmap() failed: [12] cannot allocate memorysegmentation fault

下面是我composer.json文件{name: symfony/framework-standard-edition,license: mit,type: project,description: the \symfony standard edition\ distribution,autoload: { psr-4: { : src/ }, classmap: [ app/appkernel.php, app/appcache.php ]},autoload-dev: { psr-4: { tests\\: tests/ }},require: { php: >=5.5.9, symfony/symfony: 3.0.*, doctrine/orm: ^2.5, doctrine/doctrine-bundle: ^1.6, doctrine/doctrine-cache-bundle: ^1.2, symfony/swiftmailer-bundle: ^2.3, symfony/monolog-bundle: ^2.8, sensio/distribution-bundle: ^5.0, sensio/framework-extra-bundle: ^3.0.2, incenteev/composer-parameter-handler: ^2.0, knplabs/knp-paginator-bundle: ^2.5, vich/uploader-bundle: ^1.0, gregwar/captcha-bundle: ^2.0},require-dev: { sensio/generator-bundle: ^3.0, symfony/phpunit-bridge: ^3.0},scripts: { post-install-cmd: [ incenteev\\parameterhandler\\scripthandler::buildparameters, sensio\\bundle\\distributionbundle\\composer\\scripthandler::buildbootstrap, sensio\\bundle\\distributionbundle\\composer\\scripthandler::clearcache, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installassets, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installrequirementsfile, sensio\\bundle\\distributionbundle\\composer\\scripthandler::preparedeploymenttarget ], post-update-cmd: [ incenteev\\parameterhandler\\scripthandler::buildparameters, sensio\\bundle\\distributionbundle\\composer\\scripthandler::buildbootstrap, sensio\\bundle\\distributionbundle\\composer\\scripthandler::clearcache, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installassets, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installrequirementsfile, sensio\\bundle\\distributionbundle\\composer\\scripthandler::preparedeploymenttarget ]},config: { platform: { php: 5.5.9 }},extra: { symfony-app-dir: app, symfony-bin-dir: bin, symfony-var-dir: var, symfony-web-dir: web, symfony-tests-dir: tests, symfony-assets-install: relative, incenteev-parameters: { file: app/config/parameters.yml }, branch-alias: { dev-master: 3.0-dev }}

是由于内存不足导致的吗, 可有时候用conposer install能安装成功, 有时候就报这个错了, why
回复内容: 阿里云centos7环境中, 内存1g, 当我执行composer require hwi/oauth-bundle时。 get一个错误,mmap() failed: [12] cannot allocate memorysegmentation fault

下面是我composer.json文件{name: symfony/framework-standard-edition,license: mit,type: project,description: the \symfony standard edition\ distribution,autoload: { psr-4: { : src/ }, classmap: [ app/appkernel.php, app/appcache.php ]},autoload-dev: { psr-4: { tests\\: tests/ }},require: { php: >=5.5.9, symfony/symfony: 3.0.*, doctrine/orm: ^2.5, doctrine/doctrine-bundle: ^1.6, doctrine/doctrine-cache-bundle: ^1.2, symfony/swiftmailer-bundle: ^2.3, symfony/monolog-bundle: ^2.8, sensio/distribution-bundle: ^5.0, sensio/framework-extra-bundle: ^3.0.2, incenteev/composer-parameter-handler: ^2.0, knplabs/knp-paginator-bundle: ^2.5, vich/uploader-bundle: ^1.0, gregwar/captcha-bundle: ^2.0},require-dev: { sensio/generator-bundle: ^3.0, symfony/phpunit-bridge: ^3.0},scripts: { post-install-cmd: [ incenteev\\parameterhandler\\scripthandler::buildparameters, sensio\\bundle\\distributionbundle\\composer\\scripthandler::buildbootstrap, sensio\\bundle\\distributionbundle\\composer\\scripthandler::clearcache, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installassets, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installrequirementsfile, sensio\\bundle\\distributionbundle\\composer\\scripthandler::preparedeploymenttarget ], post-update-cmd: [ incenteev\\parameterhandler\\scripthandler::buildparameters, sensio\\bundle\\distributionbundle\\composer\\scripthandler::buildbootstrap, sensio\\bundle\\distributionbundle\\composer\\scripthandler::clearcache, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installassets, sensio\\bundle\\distributionbundle\\composer\\scripthandler::installrequirementsfile, sensio\\bundle\\distributionbundle\\composer\\scripthandler::preparedeploymenttarget ]},config: { platform: { php: 5.5.9 }},extra: { symfony-app-dir: app, symfony-bin-dir: bin, symfony-var-dir: var, symfony-web-dir: web, symfony-tests-dir: tests, symfony-assets-install: relative, incenteev-parameters: { file: app/config/parameters.yml }, branch-alias: { dev-master: 3.0-dev }}

是由于内存不足导致的吗, 可有时候用conposer install能安装成功, 有时候就报这个错了, why
可以尝试以下:查看服务器中是否提交了composer.lock文件,若没有,提交composer.lock文件后执行composer install(假设题主使用了版本控制,本地开发,服务器同步)
查看当前php版本,如果不是最新版(php7),则升级至最新版
如果以上解决不了,则考虑是否linux系统安装时没有创建swapfile,尝试创建后重试
另外,可以考虑增加php.ini配置文件中对内存大小的限制memory_limit
可以尝试增加 swap 空间大小解决该问题
/bin/dd if=/dev/zero of=/var/swap.1 bs=1m count=1024/sbin/mkswap /var/swap.1/sbin/swapon /var/swap.1
上述增加 1g 的 swap 空间,可以试试哦
其它类似信息

推荐信息