В моем проекте Symfony у меня есть некоторая ошибка при выполнении команды composer update/install
:
Это ошибка, возникающая при запуске композитора:
Неустранимая ошибка: допустимый размер памяти 1073741824 байт исчерпан (пытался выделить 524288 байт) в phar://C: /ProgramData/ComposerSetup/bin/composer.phar/src/Composer/Util/RemoteFilesystem.php в строке 189
Как вы можете видеть, я запускаю команду prompt как администратор, но даже если я запускаю команду как не admin, произошла ошибка.
Я также проверяю страницу здесь, чтобы установить изменения, которые они рекомендуют мне запускать композитор без проблем.
Я нахожусь в Windows 10 и использую wamp-сервер для своего проекта. Поэтому в моем php.ini я написал эту строку: memory_limit = 2G
Я перезапускаю wamp и, следовательно, свой компьютер, чтобы быть уверенным. И когда я запускаю команду php -r "echo ini_get('memory_limit').PHP_EOL;"
он всегда показывает 128M
.
Если я запустил команду composer diagnose
это то, что я получаю от команды приглашения:
Как вы можете видеть здесь, композитор показывает мне ошибку на моем 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, server xdebug zend, но он тоже не работает (такая же проблема, когда я изменяю memory_limit, ничего не меняется).
Если у вас есть некоторые проблемы, я ценю.
Вы редактируете неправильный php ini
Чтобы узнать, какой php.ini вы должны редактировать для cli
в cmd- php -i
и поиск php.ini
или разместить echo phpinfo()
в RemoteFilesystem.php в строке 180 или что угодно и поиск stdout для php.ini
minimum-stabilitiy
установленной вdev
? Для этого требуется, чтобы компоновщик зависимостей Composer учитывал гораздо больше версий, что резко увеличивает использование памяти.