阿里云centos7环境中, 内存1G, 当我执行composer require hwi/oauth-bundle时。 get一个错误,
<code>mmap() failed: [12] Cannot allocate memorySegmentation fault</code>
下面是我composer.json文件
<code class="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-paramet<div>本文来*源gaodai^.ma#com搞#代!码网</div><pre>搞gaodaima代码
ers”: { “file”: “app/config/parameters.yml” }, “branch-alias”: { “dev-master”: “3.0-dev” }}
是由于内存不足导致的吗, 可有时候用conposer install
能安装成功, 有时候就报这个错了, why
回复内容:
阿里云centos7环境中, 内存1G, 当我执行composer require hwi/oauth-bundle时。 get一个错误,
<code>mmap() failed: [12] Cannot allocate memorySegmentation fault</code>
下面是我composer.json文件
<code class="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" }}</code>
是由于内存不足导致的吗, 可有时候用conposer install
能安装成功, 有时候就报这个错了, why
可以尝试以下:
-
查看服务器中是否提交了
composer.lock
文件,若没有,提交composer.lock
文件后执行composer install
(假设题主使用了版本控制,本地开发,服务器同步) -
查看当前
PHP
版本,如果不是最新版(PHP7
),则升级至最新版 -
如果以上解决不了,则考虑是否
Linux
系统安装时没有创建Swapfile
,尝试创建后重试 -
另外,可以考虑增加
php.ini
配置文件中对内存大小的限制memory_limit
可以尝试增加 swap 空间大小解决该问题
<code>/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024/sbin/mkswap /var/swap.1/sbin/swapon /var/swap.1</code>
上述增加 1G 的 swap 空间,可以试试哦