Zum Beispiel habe ich zwei Anwendungen: "Frontend" und "Backend". Ich möchte, dass mein/web-Verzeichnis so eingerichtet wird, dass "/ web/frontend" die Frontend-Assets und "/ web/backend" die Backend-Assets bereitstellt, ohne dass alle Bildpfade geändert werden müssen.Wie kann ich separate Web-Verzeichnisse für jede Anwendung in Symfony erstellen?
usw.Antwort
Vom Symfony Documentation dieses config.php die in jeder App tun sollte funktionieren [Beispiel apps zeigt/backend/config/config.php]
sfConfig::add(array(
'sf_web_dir' => SF_ROOT_DIR.'/web/backend',
'sf_upload_dir' => SF_ROOT_DIR.'/web/backend'.sfConfig::get('sf_upload_dir_name'),
));
Aus irgendeinem Grund, diese Methode nicht Arbeit. Wenn Sie sich alle Variablen anschauen, die in sfConfig definiert sind, werden Sie feststellen, dass Sie mehr als sf_web_dir und sf_upload_dir ändern müssen, damit die Dinge funktionieren.
Eine Option wäre, alle Variablen in sfConfig manuell zu überschreiben, die auf das Webverzeichnis innerhalb der config.php jeder Anwendung zeigen. Um eine Liste aller Variablen zu sehen, versuchen
<?php echo var_dump(sfConfig::getall()); ?>
Die andere Option (so wie ich es vorher getan haben) wäre es in der Apache-Konfiguration zu tun. Ihre virtuelle Host-Einstellungen für Backend etwas wie
<VirtualHost *>
ServerName backend.dev
DocumentRoot "PATH_TO_SYMFONY_PROJECT/web/backend"
DirectoryIndex index.php
Alias /sf /usr/local/lib/php/data/symfony/web/sf
<Directory "/usr/local/lib/php/data/symfony/web/sf">
AllowOverride All
Allow from All
</Directory>
<Directory "PATH_TO_SYMFONY_PROJECT/web/backend">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Dann müssen Sie kopieren backend.php aussehen würde, backend_dev.php [und möglicherweise index.php wenn Backend ist Ihre Standardumgebung] auf/web/Back-End, und in jedem dieser Dateien ändern
define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..'));
zu
define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/../..'));
und Sie sollten gut sein. Ich bevorzuge diese Methode, aber wenn Sie keine virtuellen Hosts eingerichtet haben, haben Sie diese Option möglicherweise nicht.
- 1. Wie kann ich verschiedene Ziele für separate iOS-Anwendungen erstellen?
- 2. Separate WHERE IN-Bedingungen für jede Spalte
- 3. Wie kann ich eine separate AppDomain für jede xUnit.net-Testmethode verwenden?
- 4. Liferay 6: Für jede Methode muss ich eine separate actionURL
- 5. Muss ich für jede Benutzerrolle separate APIs-Endpunkte schreiben?
- 6. Warum eine separate Anwendung für RESTful API erstellen?
- 7. Zwei separate Anmeldeseiten in Symfony 2
- 8. Ich muss separate Datei für alle Konstanten meines Projekts erstellen
- 9. Kann ich für jede Instanz eines Objekts eine Schleife erstellen?
- 10. Symfony: Wie kann ich User-Templates aus ausgefüllten Formularen erstellen?
- 11. Wie kann ich ImageJ als Bibliothek für eine separate Java-Anwendung verwenden?
- 12. Muss ich separate Klassen für Anfrage und Antwort C# erstellen?
- 13. sollte ich zwei separate Tabellen für zwei ähnliche Objekte erstellen
- 14. Wie kann ich einen Symfony-Zweig-Filter erstellen?
- 15. reactjs - separate Module erstellen
- 16. Wie Subdomain für jede Sprache erstellen?
- 17. Kann ich eine plattformübergreifende Anwendung mit HTML5 erstellen?
- 18. Separate Viewer-Anwendung für das ELMAH-Protokoll
- 19. separate Threads in pygtk Anwendung
- 20. Android - Wie kann ich eine separate Klasse für VersionCode bekommen?
- 21. Wie verwende ich {% für in%} symfony?
- 22. Wie separate Login für Admin und Benutzer in Django erstellen?
- 23. Wie kann ich für jede Schleife Textbox in C# anzeigen?
- 24. Symfony: Nur eine Dateientität und verschiedene Validierungsregeln für jede Zuordnung?
- 25. Jede Rails-Anwendung erstellt 'somedatabase' für Entwicklungsumgebung
- 26. Java - JPA: Wie kann ich eine Tabelle für jede Unterklasse, aber nicht für die Oberklasse erstellen?
- 27. Wie kann ich eine Zeile in einer WinForms-Anwendung erstellen?
- 28. Wie kann ich Messenger Textbox in Blackberry-Anwendung erstellen
- 29. erstellen separate Sitzung für Schienen Admin-Login
- 30. Kann ich ein Desktopsymbol für eine ClickOnce-Anwendung erstellen?
Das wissen Sie wahrscheinlich schon ... Ihre Symfony-Installation könnte irgendwo anders sein als "/ usr/local/lib/php/data/symfony/web/sf" – sjobe
Wow, danke für die gründliche Antwort sjobe! Ich werde es ausprobieren und dann als die richtige Antwort markieren :) –
Hat super funktioniert. Danke für deine Hilfe, sjobe, ich weiß es zu schätzen. –