小编fal*_*sch的帖子

列出任务的库存文件中的所有ansible主机

对于备份,我需要遍历清单文件中的所有主机,以确保备份目标存在.我的结构看起来像

/var/backups/
            example.com/
            sub.example.com/
Run Code Online (Sandbox Code Playgroud)

所以我需要一个(内置)变量/方法来列出库存文件中的所有主机,而不仅仅是一个组.

对于团体,它看起来像这样

- name: ensure backup directories are present
  action: file path=/var/backups/{{ item }} state=directory
          owner=backup group=backup mode=0700
  with_items: groups['group_name']
  tags:
    - backup
Run Code Online (Sandbox Code Playgroud)

ansible ansible-playbook ansible-inventory

28
推荐指数
1
解决办法
2万
查看次数

Symfony2.1:无法找到路径"/ login_check"的控制器

我使用symfony.com 的"使用传统登录表单"教程来验证我的用户身份.使用简单的http auth,它可以很好地工作.

提交登录后,我得到以下异常:

无法找到路径"/ login_check"的控制器.也许您忘了在路由配置中添加匹配路由?

好吧,在教程中我读到:

您不需要为/ login_check URL实现控制器,因为防火墙将自动捕获并处理提交到此URL的任何表单.

我定义了路由并设置了防火墙设置:

security.yml

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
    backend:
        pattern:    ^/backend
        anonymous: ~
        form_login:
            provider: entity
            login_path: /login
            check_path: /login_check
            #use_forward: true
        logout:
            path:   /logout
            target: /
Run Code Online (Sandbox Code Playgroud)

使用routing.yml

login:
    pattern:   /login
    defaults:  { _controller: VitaSecurityBundle:Default:login }
login_check:
    pattern:   /login_check
logout:
    pattern:   /logout
Run Code Online (Sandbox Code Playgroud)

php symfony symfony-2.1

13
推荐指数
2
解决办法
3万
查看次数

Symfony 1.4:最佳方式是在不使用模板/视图的情况下提供文件下载

对于cource,其他一些人已经在stackoverflow上讨论过这些问题,但并非所有的ansers都适合我,并且通常他们不提供symfony安装的版本.

我读过的主题:

这就是我要问你如何处理symfony 1.4中的文件下载(不使用视图)的问题?在我的所有用例中,我需要一个模板文件来呈现响应.如果我发送响应由于控制器有唯一的可能性发送它没有PHP错误(标头已发送)与

控制器:

/** @var $response sfWebResponse */
$response = $this->getResponse();
$response->clearHttpHeaders();
$response->setContentType($mimeType);
$response->setHttpHeader('Content-Disposition', 'attachment; filename="' . basename($filePath) . '"');
$response->setHttpHeader('Content-Description', 'File Transfer');
$response->setHttpHeader('Content-Transfer-Encoding', 'binary');
$response->setHttpHeader('Content-Length', filesize($filePath));
$response->setHttpHeader('Cache-Control', 'public, must-revalidate');
$response->setHttpHeader('Pragma', 'public');
$response->sendHttpHeaders();

readfile($filePath); die();
Run Code Online (Sandbox Code Playgroud)

这没有模板文件.但imho这不是那么漂亮的编码.

模板的替代方法:

控制器:

 /** @var $response sfWebResponse */
$response = $this->getResponse();
$response->clearHttpHeaders();
$response->setContentType($mimeType);
$response->setHttpHeader('Content-Disposition', 'attachment; filename="' . basename($filePath) . '"');
$response->setHttpHeader('Content-Description', 'File Transfer');
$response->setHttpHeader('Content-Transfer-Encoding', 'binary');
$response->setHttpHeader('Content-Length', filesize($filePath));
$response->setHttpHeader('Cache-Control', 'public, must-revalidate');
$response->setHttpHeader('Pragma', 'public');
$response->setContent(file_get_contents($filePath));
$response->sendHttpHeaders();

return sfView::NONE;
Run Code Online (Sandbox Code Playgroud)

视图:

<?php echo …
Run Code Online (Sandbox Code Playgroud)

php symfony1 symfony-1.4

4
推荐指数
1
解决办法
9057
查看次数