Fontawesome-Schriften fehlschlagen, nachdem Vermögenswerte:installieren und assetic:dump
Ich versuche zum einrichten einer Website, die ich arbeite bei shared hosting und alle funktioniert gut, aber FontAwesome Symbole, da Symfony nicht gefunden wo Sie sein sollten. Ich befolgen Sie diese Schritte, um die site zu Produktion, shared hosting:
- Veröffentlichen Sie assets wie hard copy da SH nicht erlaubt, symlink, damit ich diesen Befehl ausführen
assets:install
- Veröffentlichen Vermögenswerte behandelt, die von Assetic durch ausführen dieser Befehle:
assetic:dump
(dev) undassetic:dump --env=prod
(prod)
Aber es funktioniert nicht da ich immer diese Fehler im Firebug die ganze Zeit:
"NetworkError: 404 Not Found - http://tanane.com/bundles/backend/img/mybg.png"
"NetworkError: 404 Not Found - http://tanane.com/bundles/backend/fonts/fontawesome-webfont.woff?v=4.1.0"
"NetworkError: 404 Not Found - http://tanane.com/bundles/backend/fonts/fontawesome-webfont.ttf?v=4.1.0"
Unter localhost, nach den gleichen Schritte, die es funktioniert gut, also ich weiß nicht, ob ein Berechtigungsproblem oder ein anderes problem.
Dies ist, wie ich definieren das Vermögen an base.html.twig
:
{% block stylesheets %}
{% stylesheets
'bundles/template/css/bootstrap.min.css'
'bundles/template/css/bootstrap-theme.min.css'
'bundles/template/css/font-awesome.min.css'
'bundles/template/css/select2.css'
'bundles/template/css/select2-bootstrap.css'
'bundles/template/css/bootstrapValidator.min.css'
'bundles/template/css/datepicker.css'
'bundles/template/css/datepicker3.css'
'bundles/template/css/tanane.css'
filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
Ich habe eine Forschung und fand eine Menge von Themen rund um dieses problem, wie zum Beispiel diese eine auch fand ich die interessante habe aber meine Zweifel um die zweite.
Kann jeder geben, mir helfen zu diesem? Ich bin stucked
Installiert SpBowerBundle + FkrCssURLRewriteBundle
Habe ich installiert und konfiguriert beide bundles aber auch nach, dass ich immer noch Probleme mit den Bildern in diesem Fall, just-in-Select2-Bibliothek.
Dies ist die bower.json
- Datei Inhalt:
{
"name": "TemplateBundle",
"dependencies": {
"bootstrap": "latest",
"bootstrap-datepicker": "latest",
"bootstrap-growl": "latest",
"bootstrapvalidator": "latest",
"jquery": "1.11.*",
"jquery-migrate": "latest",
"pwstrength-bootstrap": "latest",
"select2": "latest",
"font-awesome": "latest"
}
}
Und dies sind die Zeilen, die ich Hinzugefügt habe /app/config/config.yml
#FkrCssURLRewriteBundle
fkr_css_url_rewrite:
rewrite_only_if_file_exists: true
clear_urls: true
# SpBowerBundle
sp_bower:
install_on_warmup: true
allow_root: true
assetic:
enabled: true
nest_dependencies: false
filters:
packages:
bootstrap:
css:
- css_url_rewrite
font_awesome:
css:
- css_url_rewrite
bundles:
TemplateBundle: ~
Dies ist der Fehler, ich bin jetzt zu bekommen:
"NetworkError: 404 Not Found - http://tanane.dev/select2.png"
"NetworkError: 404 Not Found - http://tanane.dev/select2-spinner.gif"
Warum?
Deaktiviert Assetic in SpBowerBundle
Habe ich deaktiviert assetic in SpBowerBundle bei /app/config/config.yml
:
# SpBowerBundle
sp_bower:
install_on_warmup: true
allow_root: true
bundles:
TemplateBundle: ~
Da bin ich mit assetic und auch SpBowerBundle zu handhaben Bibliotheken Abhängigkeiten ich dann umschreiben der CSS/JS-blocks base.html.twig
wie folgt:
{% stylesheets
'bundles/template/components/bootstrap/dist/css/bootstrap.min.css'
'bundles/template/components/bootstrap/dist/css/bootstrap-theme.min.css'
'bundles/template/components/font-awesome/css/font-awesome.min.css'
'bundles/template/components/select2/select2.css'
'bundles/template/css/select2-bootstrap.css'
'bundles/template/components/bootstrapvalidator/dist/css/bootstrapValidator.min.css'
'bundles/template/components/bootstrap-datepicker/css/datepicker.css'
'bundles/template/components/bootstrap-datepicker/css/datepicker3.css'
'bundles/template/css/tanane.css'
filter='css_url_rewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Dann habe ich den cache löschen und führen Sie die Befehle assets:install --symlink
, assetic:dump
und assetic:dump --env=prod
und immer noch nicht zu sehen, Bilder und auch Schriften FontAwesome:
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/css/select2.png
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/css/select2-spinner.gif
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/css/select2.png
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/fonts/fontawesome-webfont.woff?v=4.2.0
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/fonts/fontawesome-webfont.ttf?v=4.2.0
Failed to load resource: the server responded with a status of 404 (Not Found) http://tanane.dev/app_dev.php/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular
Ich vermisse etwas anderes? Was anderes kann ich tun, um zu lösen dieses lästige Problem?
Festsetzung der Deaktivierung Weg
Ich behob einige Fehler, die ich gemacht in SpBowerBundle
Konfiguration und jetzt habe ich dieses:
sp_bower:
install_on_warmup: true
allow_root: true
assetic:
enabled: false
nest_dependencies: false
bundles:
TemplateBundle: ~
Aber Bilder, verwaltet von SpBowerBundle
immer noch nicht angezeigt, siehe das angehängte Bild:
Habe ich assetic
aktiviert in meinem config.yml
:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles:
- FrontendBundle
- BackendBundle
- ProductBundle
- CommonBundle
- UserBundle
- TemplateBundle
Sollte ich es deaktivieren, und entfernen Sie alle bundles von dort?
Ein weiterer test
Folgende @lenybenard Vorschläge, ich Tat dies:
{% block stylesheets %}
{% stylesheets filter='css_url_rewrite'
'bundles/template/components/font-awesome/css/font-awesome.min.css'
'bundles/template/components/bootstrap/dist/css/bootstrap.min.css'
'bundles/template/components/bootstrap/dist/css/bootstrap-theme.min.css'
filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% stylesheets
'bundles/template/components/select2/select2.css'
'bundles/template/css/select2-bootstrap.css'
'bundles/template/components/bootstrapvalidator/dist/css/bootstrapValidator.min.css'
'bundles/template/components/bootstrap-datepicker/css/datepicker.css'
'bundles/template/components/bootstrap-datepicker/css/datepicker3.css'
'bundles/template/css/tanane.css'
filter='cssrewrite'
filter='css_url_rewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{% endblock %}
Wiederholen Sie den gleichen Vorgang noch einmal:
- Cache löschen
cache:clear & cache:warmup
und auchrm -rf /var/cache & rm -rf /var/logs
nur für den Fall, - Von Symofony2 shell:
assets:install --symlink & assetic:dump & assetic:dump --env=prod
Ergebnis: in der DEV alles in Ordnung ist, in PROD ist alles falsch
- Versuchen
app/console assets:install path
wenn Sie nicht verwenden Sie die Standard -web
Weg. - Ich bin mit der Standard-Pfad
- Kannst du bitte posten, die Teil Ihrer twig-template definieren Sie diese Vermögenswerte und erstellen des link-tags einzuschließen
- Hinzugefügt, um die main-post, werfen Sie einen Blick
- können Sie einen Blick auf die info, die ich Hinzugefügt, um die main-post? Ich bin immer noch Probleme, um dieses
- Ich warf einen Blick auf Ihre Website, wenn Sie gepostet den link ( ich glaube, Sie haben genommen, da es nach unten) und es scheint Ihr Problem ist jetzt mit der webserver-Konfiguration. Müssen Sie den Basis-Pfad, den Sie dienen der Anwendung aus wie die
web/
Unterverzeichnis. Sie dienten aus dem Projekt Basis-Pfad und somit konnte ich durchsuchen Ihre Lieferanten-Dateien etc. Ich denke, das hätte Füllung die asset-Wege assetic war die Wahl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist das Ergebnis einer eher unglücklichen Fehler in assetic. Sehen dies github Beschreibung für weitere details.
Die Lösung, die ich sich auf ist die Nutzung https://github.com/fkrauthan/FkrCssURLRewriteBundle
Es ist der einzige Ansatz, der viele ich habe versucht, das funktioniert in jedem Fall.
'bundles/template/css/bootstrap.min.css'
zu'@TemplateBundle/Resources/public/css/bootstrap.min.css'
? Sollte ich die minified-version oder normale version? Was ist, wenn ich wie zu handhaben Vermögenswerte mit Laube und [diese][github.com/Spea/SpBowerBundle] bundle?FkrCssURLRewriteBundle
tut. Ich habe verwendet, SpBowerBundle in Verbindung mit FkrCssURLRewriteBundle einwandfrei.css_url_rewrite
filter für den select2-Paket im bower-bundle. Ich persönlich bevorzuge zum deaktivieren der assetic-integration mit SpBowerBundle und nur verwenden, um bower zu installieren Vermögen. Ich verweisen Sie auf die Dateien in meinen templates so:bundles/namespace/components/select2/select2.css
SpBowerBundle
so dass Sie wirklich brauchen, um es zu deaktivieren in Ihremconfig.yml
indemassetic: false
untersp_bower
assetic: enabled: false nest_dependencies: false
zuSpBowerBundle
wiederholen Sie den gesamten Prozess und nichts, was Bilder noch verloren, Büste nur einer schafft es von Bower Abhängigkeiten, werfen Sie einen Blick auf das Bild lasse ich in der main postcssrewrite
filter, wie gut.ich habe dasselbe problem, und das ist, arbeitete
benutze ich https://github.com/fkrauthan/FkrCssURLRewriteBundle und dann
im #app/config/config.yml fügen Sie diese
Möchte ich danken : http://www.maraumax.fr
Dies ist eigentlich ganz logisch, in der dev-Umgebung, es funktioniert, weil assetic schafft so viele Datei-es gibt Ressourcen.
Aber wenn man in der Produktion-Modus, jeder assetic-block sammelt alle Ihre Ressourcen in einer einzigen Datei verkettet alle Ihre Ressource-Dateien.
Das problem ist, dass im css kein @import muss in den Anfang der Datei... und hier, in der Art, font-awesome-import innerhalb einer Datei und ist nicht zu Lesen, die von Ihrem browser.
Um Ihr problem zu beheben, Sie könnten dies tun :
Importieren Sie zuerst den stylesheet mit der @import :
Importieren Sie dann den rest
dev
aber inprod
noch, wie kann ich das beheben?dev
und die gleichen hier, aber inprod
gibt es eine andere Idee zu Ihnen kommen?Ich habe den Umgang mit diesem für eine Weile und kam mit einer neuen Lösung. Die Verbesserung @lenybernard die Antwort ein wenig, hier ist meine Lösung:
Da die
@import
befindet sich nicht in derfont-awesome-min.css
Datei, es funktionierte nicht für meinen Fall. Ich war mit ein Thema und fand heraus, dass das Stylesheet im Zusammenhang mit dem Thema hatten die annotation importieren. Auch, wurde das Thema erfordert Bootstrap geladen werden, bevor der eigene CSS-Datei, also das verschieben dertheme.css
Datei oben in der Liste aus, oder trennen Sie es wie bereits erwähnt in der vorherigen Antwort brach das Thema komplett. Also, die ultimative Lösung für diese zu finden, ist die Zeile mit der@import
tag und legen Sie es in die erste Zeile der ersten Datei in Ihrem assetic Liste und entfernen Sie es aus der Datei, auf die es bezogen wird. Zum Beispiel:...
Andere Lösung ist das erstellen einer neuen CSS-Datei und nennen Sie es wie Sie wollen, legen Sie Ihre
@import
Linie auf diese Datei, und legen Sie diese Datei an den Anfang der Liste. Zum Beispiel:Ich hatte ein ähnliches problem beim Versuch, verwenden Sie Schriftarten mit einer Ez Publish-setup. Die Schriften wurden korrekt, die sich im web/schriftart/- Verzeichnis und die .weniger war richtig kompiliert ist um auf diesem Verzeichnis. Dennoch war ich immer 404-Fehler, während Sie versuchen, ziehen Sie die schriftart-Dateien.
Das problem war eine falsch konfigurierte virtuelle host. Die config-Datei diese Zeile:
Effektiv Mitgliedstaaten dienen, eine Datei aus dem css-oder js-Ordner, solange der Erweiterung ist .js oder .css'. Ich hatte zu ändern, um
damit für den font-Ordner und eine beliebige Erweiterung haben. Ohne diese Symfony und Ez Publish versuchten, die route der url zu einer dynamischen Inhalten.