对于带有Symfony3的样式表,资产返回错误500
我遇到了一个资产问题。我的问题似乎很简单,但我找不到解决办法。我有谷歌和其他搜索引擎,还有StackOverbox、Github 我只想在twig模板中使用asset函数。代码非常简单:对于带有Symfony3的样式表,资产返回错误500,symfony,assets,symfony-3.4,Symfony,Assets,Symfony 3.4,我遇到了一个资产问题。我的问题似乎很简单,但我找不到解决办法。我有谷歌和其他搜索引擎,还有StackOverbox、Github 我只想在twig模板中使用asset函数。代码非常简单: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>{% block title %}Welcome!{% endblock %}</
<!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>
{%block title%}欢迎光临!{%endblock%}
{%block样式表%}{%endblock%}
{{knp_菜单_呈现('AppBundle:MenuBuilder:mainMenu')}
{%block body%}{%endblock%}
{%block javascripts%}{%endblock%}
我只想在我的应用程序中添加引导样式表。但是当我刷新页面时,样式表会出现500个内部服务器错误。页面的其余部分将显示,但无法检索工作表。请求的URL为
我的发展领域是。所以请求的URL中没有奇怪的内容。但是,难道不应该引用app_dev.php吗?当我手动请求时,Symfony框架会发出
找不到“GET/css/bootstrap.min.css”的路由
我已清除缓存,安装了具有绝对路径或相对路径、符号链接或硬链接的资产。没有解决我的问题
我在docker下将Symfony3.4与Nginx和PHP FPM 7.2一起使用。以下是确切的配置文件:
config.yml:
composer.json:composer.lock:
docker-compose.yml:
PHP dockerfile:
nginx dockerfile: 关于信息,我尝试使用AsseticBundle,但也遇到了一个问题: 在呈现模板期间引发了异常(“无法生成命名路由的URL”\u assetic\u 3d14251\u 0,因为该路由不存在。”) 任何帮助都是最受欢迎的
编辑:添加了config.yml文件的链接我找到了问题的解决方案。我在这里给出了答案。
正如我在邮件中提到的,我使用Docker来创建我的环境,它基于Maxpou的Symfony with Docker项目() 该项目不是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中使用。只是一个愚蠢的问题:您的web文件夹中有css子文件夹吗?如果它可以解决我的问题,就没有愚蠢的问题;-)。是的,css子文件夹在我的web文件夹中。请向我们展示您的资产config和css文件相对于应用程序根目录的路径。很抱歉延迟,但我在本周末无法访问代码:config.yml文件可在此处找到:css文件位于“web/css”目录中