在Symfony2中更改SwiftMailer的tmp目录的位置

时间:2014-05-01 09:49:21

标签: php symfony swiftmailer tmp

我的共享托管不允许我使用root \ tmp目录。

我知道可以使用Swift_Preferences类更新临时目录的位置,但是,如何为Symfony2自动加载的SwiftMailer实例执行此操作?

有没有办法在我的config.yml中设置它?

我认为代码应该是:

\ Swift_Preferences ::的getInstance() - > setTempDir($ newTempDir);

但我如何/在哪里设置此配置?

2 个答案:

答案 0 :(得分:1)

这样做的方法不止一种。但是,我认为最好的地方是你的" main"的boot方法。束。

... /我/ WebsiteBundle / MyWebsiteBundle.php:

...

public function boot() {
    $tmpDir = $this->container->getParameter('my_website.swift_tmp_dir');

    \Swift_Preferences::getInstance()->setTempDir($tmpDir);
}

...

答案 1 :(得分:-1)

您可以通过autoprepend.php脚本修改整个参数:

<?php
putenv('TMPDIR=/var/www/yourdir/tmp');

并将其设置在文档根目录中的.htaccess中:

php_value auto_prepend_file /var/www/yourdir/htdocs/autoprepend.php