我正在用资产来解决问题。我的问题似乎很简单,但我无法找到解决方案。我搜索了谷歌和其他earch引擎,以及StackOverflox,Github。
我只想在树枝模板中使用资产功能。代码非常简单:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>{% block title %}Welcome!{% endblock %}</title>
{% block stylesheets %}{% endblock %}
<link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}" />
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
</head>
<body>
{{ knp_menu_render('AppBundle:MenuBuilder:mainMenu') }}
{% block body %}{% endblock %}
{% block javascripts %}{% endblock %}
</body>
</html>
我只想在我的应用中添加Bootstrap样式表。但是当我刷新页面时,样式表会出现500内部服务器错误。页面的其余部分显示但无法检索工作表。请求的URL是
我的开发域名为http://arthur-dev.lyon-bercy.ratp:84/。所以在请求的URL中没什么奇怪的。但是不应该有app_dev.php的引用吗?当我手动请求http://arthur-dev.lyon-bercy.ratp:84/app_dev.php/css/bootstrap.min.css时,Symfony框架会喊出
&#34;未找到&#34; GET /css/bootstrap.min.css"
的路线
我已清除缓存,使用绝对路径或相对路径安装资产,符号链接或硬链接。没有解决我的问题。
我在Docker下使用Symfony3.4和Nginx以及PHP FPM 7.2。以下是确切的配置文件:
config.yml:https://framabin.org/?771da57e9f933f5c#A9RmC/Ld0y8k7SZ5EoWCBkcjVF/VWHRO6+tT7d2e3/s=
composer.json:https://framabin.org/?0a3e9ae8ec9ff32c#gmg7lnD3fAkAlBkX408yn8Jr4buuBEt1GosqvGggvm8=
composer.lock:https://framabin.org/?55a3c320d4e6ee9a#YB0fyupuUJL5SGYeZyJI/jGOf53HTd/xudExwCr9+N8=
docker-compose.yml:https://framabin.org/?0583b288a0b7c071#Z9ATFv8QYmfkTidC8F1xehzfM3SjOtW+rRgop9t6ddU=
PHP dockerfile:https://framabin.org/?dd514d9548b1545b#EEmexWzgNzE2W6ODktu5iB3QWATJGz+xZV7B73Fy2gI=
nginx dockerfile:https://framabin.org/?160536a41c6d857c#iK6w74WKm3Q2OKWSP/j6EPdePvc5avxqgqqX74VF91o=
有关信息,我尝试使用AsseticBundle,但我也遇到了问题:
在渲染模板期间抛出了异常(&#34;无法生成指定路线的URL&#34; _assetic_3d14251_0&#34;因为这样的路线不存在。&#34;)。< / p>
欢迎任何帮助
编辑:添加了config.yml文件的链接
答案 0 :(得分:0)
我找到了解决问题的方法。我在这里给出答案 正如我在消息中提到的,我使用Docker来创建我的环境。它基于Maxpou的Symfony和Docker项目(https://github.com/maxpou/docker-symfony)。
该项目与Symfony 3.4不是最新的。所以有一些修正要做。我稍后会做一个PR,但是这里有解决方案的信息:只需在nginx级别的docker-compose.yml中添加以下行:
volumes:
- ${SYMFONY_APP_PATH}:/var/www/symfony
现在它看起来像是:
nginx:
build: nginx
ports:
- 84:80
volumes:
- ${SYMFONY_APP_PATH}:/var/www/symfony
问题是Nginx无法访问包含资产的目录,因此它返回了404页面。现在,该文件可直接在Nginx中使用。