【问题标题】:Symfony 3 - in prod, assetic works fine with "AppKernel('prod', true)", not with "AppKernel('prod', false)"Symfony 3 - 在 prod 中,assetic 可以与“AppKernel('prod', true)”一起正常工作,而不是“AppKernel('prod', false)”
【发布时间】:2017-01-17 10:35:36
【问题描述】:

在 prod 模式下,一切都在使用这个配置(app.php):

<?php

use Symfony\Component\HttpFoundation\Request;

/** @var \Composer\Autoload\ClassLoader $loader */
$loader = require __DIR__.'/../app/autoload.php';
include_once __DIR__.'/../var/bootstrap.php.cache';

$kernel = new AppKernel('prod', true);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);

// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
//Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

当我打开“$kernel = new AppKernel('prod', false);”时为假,显示不完全工作。

这是我的 config.yml(用于资产):

# ASSETIC BUNDLE
assetic:
    debug: '%kernel.debug%'
    use_controller: '%kernel.debug%'
    filters:
        cssrewrite: ~

我总是这样做:

- pbc cache:clear --env=prod --no-debug
- pbc assetic:dump --env=prod --no-debug

(php bin/console 的别名 pbc)

如果我检查代码,我可以看到所有 .css 都没有转储:

<head>
        ....
        <link rel="stylesheet" href="/css/compiled/app.css">            
        <link rel="stylesheet" href="/css/compiled/user.css">
        ....
</head>

因为当 AppKernel 设置为 true 时,我可以看到:

<head>
        .....
        <link rel="stylesheet" href="/css/compiled/app_bootstrap.min_1.css">
        <link rel="stylesheet" href="/css/compiled/app_dataTables.bootstrap.min_2.css">
        <link rel="stylesheet" href="/css/compiled/app_font-awesome_3.css">
        <link rel="stylesheet" href="/css/compiled/app_custom_front_4.css">
        <link rel="stylesheet" href="/css/compiled/app_header_5.css">
        <link rel="stylesheet" href="/css/compiled/app_footer_6.css">      
        <link rel="stylesheet" href="/css/compiled/user_user_1.css">
        <link rel="stylesheet" href="/css/compiled/user_select2.min_2.css">
        .....
</head>

我知道我无法在 prod 模式下将 AppKernel 设置为 true,因此解决此问题非常重要。我阅读了很多主题,但我没有找到解决方案...

有什么想法吗?

谢谢

【问题讨论】:

    标签: symfony


    【解决方案1】:

    我遇到了同样的问题。

    删除缓存目录

    /home/[用户]/www/[站点]/var/cache

    效果很好

    迁移到其他服务器时出现问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2019-10-09
      • 2017-09-18
      • 2018-10-22
      • 2017-06-28
      • 2016-12-25
      相关资源
      最近更新 更多