每当我运行作曲家更新时,它都会给我以下内容:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Generating autoload files
Updating the "app/config/parameters.yml" file
[Symfony'Component'DependencyInjection'Exception'OutOfBoundsException]
The index "4" is not in the range [0, 3].
Script Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.
Exception trace:
() at /var/www/api.agorafy.com/trunk/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:190
Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::executeCommand() at /var/www/api.agorafy.com/trunk/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:62
Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::clearCache() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:206
Composer'EventDispatcher'EventDispatcher->executeEventPhpScript() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:174
Composer'EventDispatcher'EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:120
Composer'EventDispatcher'EventDispatcher->dispatchCommandEvent() at phar:///usr/local/bin/composer/src/Composer/Installer.php:336
Composer'Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/UpdateCommand.php:136
Composer'Command'UpdateCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:252
Symfony'Component'Console'Command'Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874
Symfony'Component'Console'Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195
Symfony'Component'Console'Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:146
Composer'Console'Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126
Symfony'Component'Console'Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:83
Composer'Console'Application->run() at phar:///usr/local/bin/composer/bin/composer:43
require() at /usr/local/bin/composer:25
update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [packages1] ... [packagesN]
我无法解决它,我已经尝试了以下方法:
- 在运行作曲家更新之前清除缓存。
- 删除箱和供应商文件夹,然后运行作曲家更新。
- 系统重新启动。 卸载APC
- (不确定,但已卸载APC)请帮助解决这个问题。
我的作曲家.json是这样的:
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The '"Symfony Standard Edition'" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "~2.4",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "~1.2",
"twig/extensions": "~1.0",
"symfony/assetic-bundle": "~2.3",
"symfony/swiftmailer-bundle": "~2.3",
"symfony/monolog-bundle": "~2.4",
"sensio/distribution-bundle": "~2.3",
"sensio/framework-extra-bundle": "~3.0",
"sensio/generator-bundle": "~2.3",
"incenteev/composer-parameter-handler": "2.1.*@dev",
"jms/di-extra-bundle": "1.5.*@dev",
"friendsofsymfony/rest-bundle": "1.4.*@dev",
"nelmio/api-doc-bundle": "2.5.*@dev",
"willdurand/hateoas-bundle": "1.0.*@dev",
"hautelook/templated-uri-bundle": "1.0.*@dev",
"willdurand/rest-extra-bundle": "1.0.*@dev",
"escapestudios/wsse-authentication-bundle": "2.3.x-dev",
"knplabs/gaufrette": "dev-master",
"knplabs/knp-gaufrette-bundle": "dev-master",
"amazonwebservices/aws-sdk-for-php": "dev-master",
"cybernox/amazon-webservices-bundle": "dev-master",
"escapestudios/wsse-authentication-bundle": "2.3.x-dev",
"doctrine/doctrine-fixtures-bundle": "2.2.*",
"symfony/filesystem": "2.5.*@dev",
"snc/redis-bundle": "1.1.x-dev",
"predis/predis": "0.8.x-dev",
"hwi/oauth-bundle": "0.4.*@dev"
},
"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"
],
"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"
]
},
"config": {
"bin-dir": "bin",
"discard-changes": true
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.4-dev"
}
}
}
编辑
服务.yml
parameters:
application_p_api.userprovider.class: Application'PApiBundle'Provider'UserProvider
application_p_api.amazon_s3.class: AmazonS3
application_p_api.file_uploader.class: Application'PApiBundle'Services'FileUploader
application_p_api.tsession.class: Application'PApiBundle'Services'TSSession
services:
service.s3nfs:
class: Application'PApiBundle'Services's3nfs
arguments: [@service_container]
application_p_api.amazon_s3:
class: %application_p_api.amazon_s3.class%
arguments:
- { key: %aws_key%, secret: %aws_secret% }
amazon_api_service: "@application_p_api.amazon_s3" #alias to application_p_api.amazon_s3 service
application_p_api.file_uploader:
class: %application_p_api.file_uploader.class%
arguments: [@file_uploader_filesystem, @service_container]
application_p_api.mailer:
class: Application'PApiBundle'Services'MailsSender
arguments: ['@service_container', '@mailer', '@twig']
public: true
mails_sender: "@application_p_api.mailer" #alias to application_p_api.mailer service
application_p_api.tsession:
class: Application'PApiBundle'Services'TSSession
arguments: [@service_container]
#Form Validator Services
p_api_contact_email_validator:
class: Application'PApiBundle'Validator'Constraints'ContactEmailValidator
arguments: [@doctrine.orm.read_only_entity_manager]
tags:
- { name: validator.constraint_validator, alias: contact_email_validator }
p_api_not_user_email_validator:
class: Application'PApiBundle'Validator'Constraints'NotUserEmailValidator
arguments: [@doctrine.orm.read_only_entity_manager]
tags:
- { name: validator.constraint_validator, alias: not_user_email_validator }
p_api_not_pending_user_email_validator:
class: Application'PApiBundle'Validator'Constraints'NotPendingUserEmailValidator
arguments: [@doctrine.orm.read_only_entity_manager]
tags:
- { name: validator.constraint_validator, alias: not_pending_user_email_validator }
p_api_password_requirements_validator:
class: Application'PApiBundle'Validator'Constraints'PasswordStrengthValidator
arguments: ~
tags:
- { name: validator.constraint_validator, alias: password_requirements_validator }
代码的其余部分在这里:https://github.com/jbpashu/composer-error-analysis-code
如果需要,请看一下。
使用此命令查看详细错误:
$ composer update -vvv
我认为您在配置其中一个服务时遇到了问题,您设置的参数比预期的多一个(例如,当您在扩展文件或编译器传递中更改服务的定义时,可能会发生这种情况)。
这也可能是其中一个捆绑包的兼容性问题。请记住,在执行composer update
之前,请执行以下操作以拥有最新版本的作曲家:
$ sudo composer self-update
你在composer update
之前试过做redis-cli flushall
吗?