【发布时间】: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