2016-07-29 20 views
1

Ich habe eine Staging-Umgebung (UAT) eingerichtet. Die Absicht besteht darin, alle E-Mails an eine einzige E-Mail-Adresse umzuleiten oder im schlimmsten Fall die E-Mail-Funktionalität zu deaktivieren. Mein Problem ist, dass trotz der folgenden Einrichtung die Anwendung immer noch E-Mails sendet, wie es in Prod-Umgebung sollte.Swiftmailer sendet immer noch E-Mail trotz disable_delivery oder 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 

Und:

#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]

Ich habe Setup ein app_uat.php. Es basiert auf 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] Ich habe überprüft und die prod Umgebung statt uat läuft. Ich kann nicht auf mein Setup Apache config Verwaltung laufen uat ... Hier ist sie:

<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> 

Antwort

1

Sind Sie der Website durch app_uat.php Zugriff? (Eine neue Front-Controller-Datei im Web-Verzeichnis, sollten Sie erstellt haben) Und in dieser Datei sollten Sie festgelegt haben:

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

Dies ist der Prozess bei http://symfony.com/doc/current/configuration/environments.html

Bitte aktualisieren Sie Ihre Antwort beschrieben ist, mit Ihrem app_uat.php wenn du einen erstellt hast.


EDIT: Dies ist ein Problem mit der Art und Weise Sie Apache eingerichtet haben, da Ihre app_uat Datei korrekt zu sein scheint. Aber ich werde den vorherigen Teil meiner Antwort verlassen, falls jemand anders es braucht (es ist ein guter erster Schritt).

Vom Betrachten Ihrer Apache-Konfigurationsdatei scheint alles in Ordnung. Aber bitte auch sicher machen:

  1. Entfernen Sie die Zeile <IfModule mod_rewrite.c> und seinen schließenden Tag ... Sie sind also gezwungen, sich auf die Rewrite-Modul zu haben! sudo a2enmod rewrite, um das Apache-Rewrite-Modul zu aktivieren.

  2. Stellen Sie sicher, Apache sudo service apache2 restart

  3. AllowOverride All bedeutet, dass alle .htaccess-Dateien das Verhalten außer Kraft setzen können neu zu starten. Stellen Sie sicher, dass dies nicht geschieht. Listen Sie alle versteckte Dateien im symfony Stammordner oder seine Web-Ordner von ls -a tun

+0

Ja, ich habe einen app_uat.php und ich Zugriff auf die Anwendung über diese Front-Controller. – curuba

+0

Danke für die Aktualisierung Ihrer Frage. Ihr Problem ist definitiv in Apache. Ich habe die Antwort entsprechend bearbeitet. – galeaspablo

+0

Wie Sie vorgeschlagen haben, stand das Problem im Zusammenhang mit AllowOverride All und dem von Symfony Framework bereitgestellten Standard-Htaccess. – curuba