1

我安装了 symfony2 和 FOSUserBundle。两者都正常工作,但是当我访问使用 SwiftMailer 作为电子邮件确认的 FOSUserBundle 的注册页面时,我立即收到以下错误。

Fatal error: Class 'Swift_Mailer' not found in /home/public_html/cache/dev/appDevDebugProjectContainer.php on line 1331

第 1331 行代码如下:

return $this->services['mailer'] = new \Swift_Mailer($this->get('swiftmailer.transport'));

在调试信息中,我看到 SwiftMailerBundle 已正确加载。现在我被困住了,我已经为此苦苦挣扎了一段时间,而且我还不熟悉 Symfony。很确定这是我的缺点,但一双新鲜的眼睛会有所帮助。我错过了什么,这是可配置的吗?Swift\Mailer 类实际上在服务器上,位于 vendor/swiftmailer/swiftmailer/lib/classes/swift/mailer.php 下

有人可以帮忙吗?非常感谢!

4

1 回答 1

1

你能检查一下你的 app\autoload.php 中是否有这些行:

// Swiftmailer needs a special autoloader to allow
// the lazy loading of the init file (which is expensive)
require_once __DIR__.'/../vendor/swiftmailer/lib/classes/Swift.php';
Swift::registerAutoload(__DIR__.'/../vendor/swiftmailer/lib/swift_init.php');
于 2012-04-17T23:04:53.827 回答