我正在尝试配置symfony资产管理器来编译我的较少css文件并重写路径但是我收到以下错误:
Dumping all dev assets.
Debug mode is on.
18:51:01 [file+] C:/htdocs/site-ideiah-symfony/app/../web/css/57b3454.css
[Assetic\Exception\FilterException]
An error occurred while running:
"C:\Users\Rafael\AppData\Local\Temp\ass1C74.tmp"
Error Output:
Access Denied
我的config.yml
filters:
cssrewrite:
apply_to: '\.(css|less)$'
less:
node: [ "C:\\Program Files\\nodejs\\node.exe" ]
node_paths: [ "C:\\Program Files\\nodejs\\", "C:\\Program Files\\nodejs\\node_modules\\" ]
apply_to: "\.less$"
我的模板用法
{% block stylesheets %}
{% stylesheets filter='less,cssrewrite'
'@IdeiahSiteAppBundle/Resources/public/less/style.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="all" />
{% endstylesheets %}
{% endblock %}
我正在使用Windows 8和PHP 5.4.7,有谁知道我该如何修复它?
答案 0 :(得分:1)
Error Output: Access Denied
消息表明这是一个与安全相关的问题。
此安全问题可能与1)无法写入输出文件,2)无法读取输入文件和/或3)无法执行node
命令有关
1)运行assetic:dump
命令的用户是否能够写入文件夹C:/htdocs/site-ideiah-symfony/web/css/
和57b3454.css
文件?
2)在Error Output:
之后,资产还应显示使用的输入,类似于:
Input:
/*!
* Bootstrap v2.3.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and @fat
*/
// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";
// CSS Reset
@import "reset.less";
你看到列出的任何输入?
3)检查用户是否从命令行执行"C:\Program Files\nodejs\node.exe"
答案 1 :(得分:0)
我有类似的问题。删除Less并安装旧版本为我修复了它。其中一个解决方案似乎是将symfony升级到更新的版本,但我们无法做到这一点,因为必须使用与centos6.5兼容的旧版symfony
这有助于:https://github.com/braincrafted/bootstrap-bundle/issues/217