运行作曲家时遇到麻烦

时间:2016-01-05 11:15:27

标签: php json symfony composer-php

在我的 Symfony 项目中,运行composer update/install命令时出错:

这是我运行composer时发生的错误:

  

致命错误:允许的内存大小为1073741824字节(已尝试   分配524288字节)   药业:// C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Util/RemoteFilesystem.php   在第189行

enter image description here

如您所见,我以管理员身份运行prompt命令,但即使我以非admin身份运行命令,也会发生同样的错误。

我还检查了页面here,以便设置他们建议的更改,以便毫无困难地运行编辑器。

我在Windows 10上并使用wamp服务器进行项目。 所以在我的php.ini中我写了这一行:memory_limit = 2G

我重新启动wamp,所以我的电脑也是如此。当我运行命令php -r "echo ini_get('memory_limit').PHP_EOL;"时,它始终显示128M

如果我运行composer diagnose命令,这是我从提示命令获得的: enter image description here

正如你在这里看到的,作曲家在我的composer.json上显示错误。 这是我的composer.json文件:

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-4": { "": "src/" }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require": {
        "php": ">=5.3.9",
        "symfony/symfony": "2.7.*",
        "doctrine/orm": "^2.4.8",
        "doctrine/doctrine-bundle": "~1.4",
        "symfony/assetic-bundle": "~2.3",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "~2.4",
        "sensio/distribution-bundle": "~4.0",
        "sensio/framework-extra-bundle": "^3.0.2",
        "incenteev/composer-parameter-handler": "~2.0",
        "friendsofsymfony/user-bundle": "~2.0",
        "knplabs/doctrine-behaviors": "~1.1",
        "friendsofsymfony/jsrouting-bundle": "^1.5",
        "jms/serializer-bundle": "^1.1",
        "sonata-project/seo-bundle": "^2.0",
        "genemu/form-bundle": "2.2.*",
        "elao/web-profiler-extra-bundle" : "~2.3@dev",
        "maxmind/geoip": "dev-master",
        "a2lix/translation-form-bundle": "^2.0",
        "ircmaxell/password-compat": "^1.0",
        "sonata-project/translation-bundle": "^1.0",
        "sp/bower-bundle": "^0.11.0",
        "ensepar/html2pdf-bundle" : "~2.0"
    },
    "require-dev": {
        "sensio/generator-bundle": "~2.3",
        "doctrine/doctrine-fixtures-bundle": "^2.3"
    },
    "scripts": {
        "pre-install-cmd": [
            "BetonDirect\\EntityBundle\\HerokuDatabase::populateEnvironment"
        ],
        "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": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "symfony-assets-install": "hard-copy",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml",
            "env-map": {
                "database_driver": "DATABASE_DRIVER",
                "database_host": "DATABASE_HOST",
                "database_port": "DATABASE_PORT",
                "database_name": "DATABASE_NAME",
                "database_user": "DATABASE_USER",
                "database_password": "DATABASE_PASSWORD"
            }
        },
        "branch-alias": {
            "dev-master": "2.7-dev"
        }
    }
}

我也在我的wamp,服务器xdebug zend扩展中禁用,但它也不起作用(当我更改memory_limit时,同样的问题,没有任何改变)。

如果你有一些问题,我很感激。

3 个答案:

答案 0 :(得分:0)

您正在编辑错误的php ini

找出你必须为cli编辑的php.ini

在cmd类型php -i

并搜索php.ini

或放置echo phpinfo()

在第180行的RemoteFilesystem.php或其他任何内容和搜索stdout for php.ini

答案 1 :(得分:0)

似乎您已经为Windows安装了32位PHP版本,此处的内存限制为2GB。您可以安装64位PHP版本,并且内存限制为4GB,应该足够了。

这是一个教程:

http://sebastianviereck.de/en/Windows-composer-update-fatal-error-allowed-memory-size-of-1610612736-bytes-exhausted/

答案 2 :(得分:0)

这是 Windows 10 中的解决方案

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