0

我目前正在迁移一个 Symfony2 网站,但遇到了一个无法解决的问题。

我得到的错误信息是:

致命错误:在第 73 行的 [...]vendor/bundles/Propel/PropelBundle/PropelBundle.php 中调用未定义的方法 Symfony\Bundle\SecurityBundle\DependencyInjection\SecurityExtension::addUserProviderFactory()

这是我的deps文件:

[symfony]
    git=http://github.com/symfony/symfony.git
    version=origin/2.0

[twig]
    git=http://github.com/fabpot/Twig.git
    version=v1.8.2

[monolog]
    git=http://github.com/Seldaek/monolog.git
    version=1.0.2

[doctrine-common]
    git=http://github.com/doctrine/common.git
    version=2.1.4

[doctrine-dbal]
    git=http://github.com/doctrine/dbal.git
    version=2.1.5

[doctrine]
    git=http://github.com/doctrine/doctrine2.git
    version=2.1.6

[swiftmailer]
    git=http://github.com/swiftmailer/swiftmailer.git
    version=v4.2.0

[assetic]
    git=http://github.com/kriswallsmith/assetic.git
    version=v1.0.3

[twig-extensions]
    git=http://github.com/fabpot/Twig-extensions.git

[metadata]
    git=http://github.com/schmittjoh/metadata.git
    version=1.0.0

[SensioFrameworkExtraBundle]
    git=http://github.com/sensio/SensioFrameworkExtraBundle.git
    target=/bundles/Sensio/Bundle/FrameworkExtraBundle
    version=origin/2.0

[JMSSecurityExtraBundle]
    git=http://github.com/schmittjoh/JMSSecurityExtraBundle.git
    target=/bundles/JMS/SecurityExtraBundle
    version=origin/1.0.x

[SensioDistributionBundle]
    git=http://github.com/sensio/SensioDistributionBundle.git
    target=/bundles/Sensio/Bundle/DistributionBundle
    version=origin/2.0

[SensioGeneratorBundle]
    git=http://github.com/sensio/SensioGeneratorBundle.git
    target=/bundles/Sensio/Bundle/GeneratorBundle
    version=origin/2.0

[AsseticBundle]
    git=http://github.com/symfony/AsseticBundle.git
    target=/bundles/Symfony/Bundle/AsseticBundle
    version=origin/2.0

[Phing]
    git=https://github.com/phingofficial/phing.git

[Propel]
    git=https://github.com/propelorm/Propel.git

[PropelBundle]
    git=https://github.com/propelorm/PropelBundle.git
    target=/bundles/Propel/PropelBundle
    branch=origin/1.0

[PdfBundle]
    git=git://github.com/psliwa/PdfBundle.git
    target=/bundles/Ps/PdfBundle

[PHPPdf]
    git=git://github.com/psliwa/PHPPdf.git
    version=origin/1.1.x

综上所述,我使用的是 Symfony 2.0(我不能使用 2.1:远程服务器在 PHP 5.3.2,由于 Plesk 无法迁移到 PHP 5.3.3)和相关的 Propel 版本(1.0)。

这也是我的 AppKernel:

$bundles = array(
    new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
    new Symfony\Bundle\SecurityBundle\SecurityBundle(),
    new Symfony\Bundle\TwigBundle\TwigBundle(),
    new Symfony\Bundle\MonologBundle\MonologBundle(),
    new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
    new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
    new Symfony\Bundle\AsseticBundle\AsseticBundle(),
    new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
    new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
    // My application bundles
    new Ps\PdfBundle\PsPdfBundle(),
    new Propel\PropelBundle\PropelBundle(),
);

还有我的 autoload.php 文件,如果有帮助的话:

$loader->registerNamespaces(array(
    'Symfony'          => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
    'Sensio'           => __DIR__.'/../vendor/bundles',
    'JMS'              => __DIR__.'/../vendor/bundles',
    'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
    'Doctrine\\DBAL'   => __DIR__.'/../vendor/doctrine-dbal/lib',
    'Doctrine'         => __DIR__.'/../vendor/doctrine/lib',
    'Monolog'          => __DIR__.'/../vendor/monolog/src',
    'Assetic'          => __DIR__.'/../vendor/assetic/src',
    'Metadata'         => __DIR__.'/../vendor/metadata/src',
    'Ps' => __DIR__.'/../vendor/bundles',
    'PHPPdf' => __DIR__.'/../vendor/PHPPdf/lib',
    'Imagine' => array(__DIR__.'/../vendor/PHPPdf/lib', __DIR__.'/../vendor/PHPPdf/lib/vendor/Imagine/lib'),
    'Zend' => __DIR__.'/../vendor/PHPPdf/lib/vendor/Zend/library',//If you have used ZF2 packages already, you should skip this entry
    'ZendPdf' => __DIR__.'/../vendor/PHPPdf/lib/vendor/ZendPdf/library',
    'Propel' => __DIR__.'/../vendor/bundles',
    'Phing'  => __DIR__.'/../vendor/phing/classes/phing',
));

你知道我该如何解决吗?

4

1 回答 1

1

您似乎加载了错误版本的 PropelBundle。

在你的 deps 文件中,不要branch=origin/1.0为 PropelBundle 编写,而是编写version=origin/1.0

[PropelBundle]
    git=https://github.com/propelorm/PropelBundle.git
    target=/bundles/Propel/PropelBundle
    version=origin/1.0
于 2012-08-18T14:09:25.743 回答