【问题标题】:Symfony 2/Propel: Class 'Phing' not found, autoloading?Symfony 2/Propel:找不到“Phing”类,自动加载?
【发布时间】:2012-05-10 20:21:14
【问题描述】:

我对推进有一个奇怪的问题。 我在config.yml中的配置:

propel:

    dbal:
        driver:     %database_driver%
        user:       %database_user%
        password:   %database_password%
        dsn:        %database_driver%:host=%database_host%;dbname=%database_name%;charset=UTF8
        path:       %kernel.root_dir%/../vendor/propel
        phing_path: %kernel.root_dir%/../vendor/phing

我使用该命令创建了我的数据库:php app/console propel:database:create,它运行良好,但是当我尝试使用php app/console propel:model:build 创建我的第一个表时,我遇到了一个致命错误:PHP Fatal error: Class 'Phing' not found.

我在文件夹中验证,一切都在那里。我想这是一个自动加载问题,但我遵循了 http://www.propelorm.org/cookbook/symfony2/working-with-symfony2.htmlhttp://symfony.com/doc/master/book/propel.html 的文档

有什么想法吗?非常感谢!

【问题讨论】:

  • 报错在哪个文件的哪一行?

标签: php symfony propel autoload fatal-error


【解决方案1】:

你使用哪个依赖管理系统?

这是一个自动加载问题,您应该添加以下定义:

$loader->registerPrefixes(array(
    ...

    'Phing' => __DIR__.'/../path/to/phing/classes/phing',
));

path/to/phing 是您安装 Phing 的路径。

【讨论】:

  • 我用的是composer,其实我忘了加phing包。自从我添加了它,它就可以工作了:) 或者可能是因为我在 composer.json 中更改了 propel 的版本(在 packagist 中检查)。
  • 可以,你可以在 composer 文件中添加 Phing,或者使用最新的 Propel 版本。
猜你喜欢
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 2012-10-07
  • 2012-12-03
  • 2016-04-13
  • 2012-04-17
相关资源
最近更新 更多