2016-07-29 3 views
1

У меня настроена промежуточная среда (uat). Цель состоит в том, чтобы перенаправить все электронные письма на один адрес электронной почты или в наихудшем случае отключить функцию электронной почты. Моя проблема в том, что, несмотря на следующую настройку, приложение по-прежнему отправляет электронную почту, как и в среде prod.Swiftmailer по-прежнему отправляет электронную почту, несмотря на disable_delivery или delivery_address

# config_uat.yml 
imports: 
    - { resource: config.yml } 

monolog: 
    handlers: 
     main: 
      type:   fingers_crossed 
      action_level: error 
      handler:  nested 
     nested: 
      type: stream 
      path: "%kernel.logs_dir%/%kernel.environment%.log" 
      level: debug 

swiftmailer: 
    transport:  smtp 
    host:   127.0.0.1 
    port:   25 
    encryption:  null 
    sender_address: [email protected] 
    logging:  "%kernel.debug%" 
    delivery_address: '[email protected]' 
    disable_delivery: true 

И:

#config.yml 
imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: "@psmdbBundle/Resources/config/services.yml" } 
    - { resource: "@psmdbBundle/Resources/config/version.yml" } 

# Swiftmailer Configuration 
swiftmailer: 
    transport:  smtp 
    host:   127.0.0.1 
    port:   25 
    encryption:  null 
    sender_address: [email protected] 
    logging:  "%kernel.debug%" 

[EDIT]

У меня настроить app_uat.php. Он основан на app.php:

<?php 

use Symfony\Component\ClassLoader\ApcClassLoader; 
use Symfony\Component\HttpFoundation\Request; 

$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 

// Use APC for autoloading to improve performance. 
// Change 'sf2' to a unique prefix in order to prevent cache key conflicts 
// with other applications also using APC. 
/* 
$loader = new ApcClassLoader('sf2', $loader); 
$loader->register(true); 
*/ 

//require_once __DIR__.'/../app/AppKernel.php'; 
//require_once __DIR__.'/../app/AppCache.php'; 

$kernel = new AppKernel('uat', false); 
$kernel->loadClassCache(); 
//$kernel = new AppCache($kernel); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 
$response->send(); 
$kernel->terminate($request, $response); 

[EDIT 2] Я проверил и окружающая среда прод работает вместо ЕСХН. не удается установить мой апача конфигурации для запуска UAT ... Вот оно:

<VirtualHost *:80> 
    ServerName uat.gpsc.domain.com 

    DocumentRoot /var/www/vhosts/uat.gpsc.domain.com/current/web 
    <Directory /var/www/vhosts/uat.gpsc.domain.com/current/web> 
     AllowOverride All 
     Require all granted 
     Allow from All 

     <IfModule mod_rewrite.c> 
      Options -MultiViews 
      RewriteEngine On 
      RewriteCond %{REQUEST_FILENAME} !-f 
      RewriteRule ^(.*)$ app_uat.php [QSA,L] 
     </IfModule> 

    </Directory> 

    ErrorLog /var/log/apache2/uat.project_error.log 
    CustomLog /var/log/apache2/uat.project_access.log combined 

</VirtualHost> 

ответ

1

Вы доступ к сайту через app_uat.php? (Новый передний файл контроллера в веб-каталоге, вы должны быть созданы) И в этом файле вы должны установить:

$kernel = new AppKernel('uat', true);//or 'uat', false 

Это процесс, описанный в http://symfony.com/doc/current/configuration/environments.html

Пожалуйста, обновите ваш ответ с вашим app_uat.php, если вы его создали.


EDIT: Это проблема с тем, как вы создали Apache, так как файл app_uat кажется правильным. Но я оставлю предыдущую часть своего ответа, если это кому-то еще понадобится (это хороший первый шаг).

От взгляда на ваш конфигурационный файл apache все кажется прекрасным. Но пожалуйста, убедитесь, что:

  1. Удалите строку <IfModule mod_rewrite.c> и его закрывающий тег ... Так что вы вынуждены иметь модуль перезаписи на! sudo a2enmod rewrite, чтобы активировать модуль перезаписи Apache.

  2. Убедитесь, чтобы перезапустить Apache sudo service apache2 restart

  3. AllowOverride All означает любые Htaccess файлы можно переопределить поведение. Убедитесь, что этого не происходит. Перечислите все скрытые файлы в корневой папке симфони или ее веб-папку, выполнив ls -a

+0

Да у меня есть app_uat.php и я доступ к приложению через этот фронт-контроллер. – curuba

+0

Спасибо за обновление вашего вопроса. Ваша проблема, безусловно, в Apache. Я отредактировал ответ соответственно. – galeaspablo

+0

Как вы предположили, проблема связана с AllowOverride All и по умолчанию .htaccess, предоставляемым инфраструктурой Symfony. – curuba