Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于带有Symfony3的样式表,资产返回错误500_Symfony_Assets_Symfony 3.4 - Fatal编程技术网

对于带有Symfony3的样式表,资产返回错误500

对于带有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 %}</

我遇到了一个资产问题。我的问题似乎很简单,但我找不到解决办法。我有谷歌和其他搜索引擎,还有StackOverbox、Github

我只想在twig模板中使用asset函数。代码非常简单:

<!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”目录中