Symfony 2 assetic:dump UglifyCss导致[Symfony\Component\Process\Exception\RuntimeException]进程已用信号“发出信号”;5“;
我正在开发我的第一个Symfony 2应用程序,我正在尝试Uglify来最小化我的.css文件。问题是,当我执行命令时:Symfony 2 assetic:dump UglifyCss导致[Symfony\Component\Process\Exception\RuntimeException]进程已用信号“发出信号”;5“;,css,symfony,dump,assetic,uglifycss,Css,Symfony,Dump,Assetic,Uglifycss,我正在开发我的第一个Symfony 2应用程序,我正在尝试Uglify来最小化我的.css文件。问题是,当我执行命令时: $ /Applications/mampstack-5.4.17-0/php/bin/php app/console assetic:dump --verbose 我得到以下结果: Dumping all dev assets. Debug mode is on. 17:22:09 [file+] /Users/bender22/Proyectos/ETraining/a
$ /Applications/mampstack-5.4.17-0/php/bin/php app/console assetic:dump --verbose
我得到以下结果:
Dumping all dev assets.
Debug mode is on.
17:22:09 [file+] /Users/bender22/Proyectos/ETraining/app/../web/examlayout.css
/Users/bender22/Proyectos/ETraining/app/../web/bundles/exam/css/exam.css
/Users/bender22/Proyectos/ETraining/app/../web/bundles/exam/css/exam3.css
[Symfony\Component\Process\Exception\RuntimeException]进程已通过信号“5”发出信号 异常跟踪:
() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Process/Process.php:428
Symfony\Component\Process\Process->wait() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Process/Process.php:204
Symfony\Component\Process\Process->run() at /Users/bender22/Proyectos/ETraining/vendor/kriswallsmith/assetic/src/Assetic/Filter/UglifyCssFilter.php:106
Assetic\Filter\UglifyCssFilter->filterDump() at /Users/bender22/Proyectos/ETraining/vendor/kriswallsmith/assetic/src/Assetic/Filter/FilterCollection.php:69
Assetic\Filter\FilterCollection->filterDump() at /Users/bender22/Proyectos/ETraining/vendor/kriswallsmith/assetic/src/Assetic/Asset/BaseAsset.php:108
Assetic\Asset\BaseAsset->dump() at /Users/bender22/Proyectos/ETraining/vendor/kriswallsmith/assetic/src/Assetic/Asset/AssetCollection.php:151
Assetic\Asset\AssetCollection->dump() at /Users/bender22/Proyectos/ETraining/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:222
Symfony\Bundle\AsseticBundle\Command\DumpCommand->doDump() at /Users/bender22/Proyectos/ETraining/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:162
Symfony\Bundle\AsseticBundle\Command\DumpCommand->dumpAsset() at /Users/bender22/Proyectos/ETraining/vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Command/DumpCommand.php:61
Symfony\Bundle\AsseticBundle\Command\DumpCommand->execute() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:244
Symfony\Component\Console\Command\Command->run() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:904
Symfony\Component\Console\Application->doRunCommand() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:191
Symfony\Component\Console\Application->doRun() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:85
Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /Users/bender22/Proyectos/ETraining/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:121
Symfony\Component\Console\Application->run() at /Users/bender22/Proyectos/ETraining/app/console:27
我的环境:
OS: Mac OS 10.8.4
Symfony: 2.3.2
symfony/assetic-bundle: 2.3.0
kriswallsmith/assetic: 1.1.2
Bitnami Mampstack: 5.4.17
Node.js: 0.10.13
Php: 5.4.17
Apache: 2.4.4
以下是一些相关信息:
My config.yml:
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ExamBundle]
java: /usr/bin/java
filters:
cssrewrite: ~
uglifyjs2: # the path to the uglifyjs executable
bin: /usr/local/bin/uglifyjs
node: /usr/local/bin/node
uglifycss: # the path to the uglifycss executable
bin: /usr/local/bin/uglifycss
node: /usr/local/bin/node
我的小枝模板:
{% block stylesheets %}
{% stylesheets output='css/generated/examlayout.css' filter='cssrewrite, uglifycss' debug=false
'bundles/exam/css/exam.css'
'bundles/exam/css/exam3.css'
%}
<link href="{{ asset_url }}" rel="stylesheet" />
{% endstylesheets %}
{% endblock %}
结果是
Dumping all dev assets.
Debug mode is on.
17:55:12 [file+] /Users/bender22/Proyectos/ETraining/app/../web/css/generated/examlayout.css
/Users/bender22/Proyectos/ETraining/app/../web/bundles/exam/css/exam.css
/Users/bender22/Proyectos/ETraining/app/../web/bundles/exam/css/exam3.css
web/css中的结果文件是正确的(内容包括两个.css文件)。问题是,当我加载网页时,.css被破坏:
<link href="/app_dev.php/css/generated/examlayout.css" rel="stylesheet" />
*/
2) 设置文件夹权限(以递归方式):
对于文件夹:
web(在我的Symfony项目中)和我的临时文件夹,结果是:
/var/folders/hp/vv24wsq56bs9szlt7j8bt3600000gn/T
你能帮我解决这个问题吗?我已经没有主意了
注意:我将其标记为uglifyjs2,因为我没有足够的点数来创建标记uglifycss
提前感谢:)我们遇到了同样的问题,uglifycss过滤器内存不足,大css文件没有正确的错误消息 您可以按照以下步骤显示确切的错误消息:
- 在assetic配置中禁用uglifycss筛选器
- 运行
任务assetic:dump
- 导航到生成css文件的目录,可能是web/css
- 为每个生成的css文件运行
uglifycss>test.css
- 查看哪个文件返回错误
<?php
namespace Acme\DemoBundle\Filter;
use Assetic\Filter\UglifyCssFilter as BaseUglifyCssFilter;
class UglifyCssFilter extends BaseUglifyCssFilter
{
protected function createProcessBuilder(array $arguments = array())
{
if ($arguments[0] === '/usr/bin/node') {
$arguments = array_merge(array(
$arguments[0],
'--max-old-space-size=4096'
), array_slice($arguments, 1));
}
return parent::createProcessBuilder($arguments);
}
}
你能解决这个问题吗?
chmod 777
/var/folders/hp/vv24wsq56bs9szlt7j8bt3600000gn/T
<?php
namespace Acme\DemoBundle\Filter;
use Assetic\Filter\UglifyCssFilter as BaseUglifyCssFilter;
class UglifyCssFilter extends BaseUglifyCssFilter
{
protected function createProcessBuilder(array $arguments = array())
{
if ($arguments[0] === '/usr/bin/node') {
$arguments = array_merge(array(
$arguments[0],
'--max-old-space-size=4096'
), array_slice($arguments, 1));
}
return parent::createProcessBuilder($arguments);
}
}
parameters:
assetic.filter.uglifycss.class: Acme\DemoBundle\Filter\UglifyCssFilter