Articles of symfony

是否使用全局npm

何时以及为什么在安装新模块时必须使用-g? 我使用symfony,我已经为节点创build了Bundle,并在bundle中安装了node_modules(例如cd ../mybundle) npm install felixge/node-mysql 什么时候和为什么我必须做一些链接 npm install -g felixge/node-mysql 谢谢

如何使用nodejsvalidationSymfony2 sha512密码

我需要能够在nodevalidation一些用sha512编码使用Symfony2生成和存储的密码。 我可以检索hash和salt就好了,但使用crypto我不能pipe理生成一个哈希使用盐匹配存储在数据库中的一个。 Symfony security.yml security: encoders: "FOS\UserBundle\Model\UserInterface": sha512 散列存储在数据库中 6zxwRZc4EPXKxQes9avs0ZyCRFkC4dtpXrT983ML8VLvv9WhRnAi282bwuFuj3LHPQBGmqD1BfCLDUXGdHIjZQ== 储存在DB中的盐 qu7rjvaietws8kg4cgsggksookwsws8 由于节点端有盐,所以我使用的是crypto.pbkdf2Sync ,在configuration中没有设置迭代,它看起来像Symfony的默认值是1000.默认长度是40,但是存储的哈希长度是128,所以使用128作为长度(尝试40没有成功)。 我还尝试了Symfony 2 MessageDigestPasswordEncoder使用的5000次迭代,并将原始密码与salt合并为symfony raw_password{salt}但没有成功。 如果我使用pbkdf2Sync生成一个长度为40的密钥(按照symfony的默认值),然后使用它来更新一个用crypto.createHash var hash = user.password; var salt = user.salt; console.log(hash); console.log(crypto.pbkdf2Sync("password", salt, 1000, 128 >> 1, "sha512").toString("base64")); 生成的散列的大小和格式与存储在数据库中的散列的大小相匹配,但是它们不匹配是我的问题的值。 我也试着dynamic生成多个迭代值,没有任何运气。 产量 6zxwRZc4EPXKxQes9avs0ZyCRFkC4dtpXrT983ML8VLvv9WhRnAi282bwuFuj3LHPQBGmqD1BfCLDUXGdHIjZQ== 5QPz3zXwhak/bTD2S9IFEEFmiJ8q/fqIlSF6cWin7dqmh92EFNXjw/FLtQw7NX3LVehwcXKjfypo2EhJxiLouQ== w9+8xjklvGq9CuiqY8tEoxEetLV9lbhLJ/KaFQEooUFJrGT9/EdsVd/sSRJ+DXjsH4RQeaqsmftmuzLPgVv5MA== 我怎样才能生成散列,使其符合Symfony 2使用的方式?

使用symfony rabbitMq与nodeJs进行通信

Node Js:我创build了一个使用nodejs和socket的消费者,以便与rabbitMq和symfony进行通信 文件:consumer.js var http = require('http'), url = require('url'), amqp = require('amqplib/callback_api'); amqp.connect('amqp://user:pass@192.168.99.10:55672', function(err, conn) { conn.createChannel(function(err, ch) { var q = 'hello'; ch.assertQueue(q, {durable: false}); console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", q); ch.consume(q, function(msg) { console.log(" [x] Received %s", msg.content.toString()); }, {noAck: true}); }); }); 文件:App.js var server […]

RabbitMQ – 并行任务消耗

我使用RabbitMQ从symfony发送消息到nodeJs。我会说要求并行处理。 根据客户要处理的数据量,每个客户端的工作可能需要5分钟到70分钟才能完成。 客户可以随机发布工作要求。 假设5个客户完成各自的工作所需的时间如下所示 客户端1作业-65分钟客户端2作业 – 10分钟客户端3作业 – 5分钟客户端4作业 – 10分钟客户端5作业 – 20分钟正常队列有一个问题,因为客户端1的工作将花费65分钟完成,因此客户端2必须等待75分钟(65 + 10)完成一项需要10分钟的工作。 我知道,在RabbitMQ中,我可以创造许多工人来处理这项工作,但是根据工作所需的时间和工作的位置,客户可能需要很长时间才能完成工作。 所以我正在寻找创build每个客户端的dynamic消费者。 每个消费者都为每个客户单独完成这项工作。 Rabbitmq有可能吗? 如果是的话,怎样才能做到呢?

带有nodejs和Symfony 2的Websockets

我正在运行一个实时Web应用程序,在后端使用Symfony 2 PHP框架。 我想实现我的实时交互的websockets。 是否可以在我的Symfony 2服务器所在的机器上安装node.js服务器来处理websocket连接? 如果是这样,打开另一个端口(比如81)来处理websocket连接是否是标准的?

Node JS与Symfony 2 for SPA

我对Symfony 2和Node JS都没有什么经验,我必须决定哪个工具对单页面应用程序更好。 据我所知,SPA在客户端(UI) – 服务器(API)架构上工作,所以NodeJS似乎是一个更好的select(更快,处理事件驱动的编程)。 但另一方面,为了充分支持pipe理员等一些CMSfunction,Symfony 2似乎更加成熟。 我想问问经验丰富的开发人员,当我要开发一个具有许多“pipe理”function的强大网站时,我应该select哪种技术用于SPA架构。 另外UI将被写入angularJS。 感谢build设性的意见。 编辑 我们也可以用另一种方式来理解我的问题:“Symfony2可以作为一个API,而不是整个后端? 由于路由已经写在angularJS中,Symfony 2的路由似乎是无用的。

UglifyJS不能在Symfony2生产环境中工作

我相信我configuration正确 – 这是我的config.yml: assetic: debug: "%kernel.debug%" use_controller: false node: "/usr/local/bin/node" bundles: [ ] #java: /usr/bin/java filters: uglifyjs2: # the path to the uglifyjs executable bin: "%kernel.root_dir%/Resources/node_modules/.bin/uglifyjs" cssrewrite: ~ 我在本地存储uglifyjs项目,只是为了方便分发。 我正在做以下使用uglifyjs生成所有的JS文件: {% javascripts 'vendor/bower_components/jquery/dist/jquery.min.js' 'vendor/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js' 'vendor/bower_components/angular-route/angular-route.min.js' 'vendor/bower_components/underscore/underscore-min.js' 'vendor/bower_components/angular-cookies/angular-cookies.min.js' 'js/test1.js' 'js/test2.js' filter='?uglifyjs2' %} <script src="{{ asset_url }}"></script> {% endjavascripts %} 如果我以开发模式(/app_dev.php)加载页面,它工作正常,只是单独加载文件,但由uglifyjs缩小; 但是如果我尝试在生产中加载它,它将所有这些js文件合并成一个js文件(即a07da66.js)。 我面临的问题是,它试图加载该文件(a07da66.js)时得到404未find错误。 它试图访问它在js/a07da66.js – 似乎在js /默认情况下创build它们。 […]

资产给我一个FilterException,因为我更新到Fedora25

更新我的Fedora 24到25之后,官方的PHP版本从5.6升到了7.0。 所以我安装了旧版本,可以使用(通过Remi Depo ) $ php -v PHP 7.0.13 (cli) (built: Nov 25 2016 06:03:52) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies $ php56 -v PHP 5.6.29 (cli) (built: Dec 8 2016 07:55:50) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) […]

在&扩展(.clearfix all)失败;`

我正在与一个现有(和工作)Symfony2项目的克隆。 它使用的是Bootstrap-2.2.2,所以我安装了Less来转储资产: sudo npm install less 它被安装,但是当我尝试转储资产时: php app/console assetic:dump –env=dev –no-debug 我得到这个错误: [Exception] parse error: failed at `&:extend(.clearfix all);` /home/user/server/project/app/../web/css/../vendor/bootstrap-2.3.1/less/mixins.less on l ine 643 我已经在GitHub仓库中发现了这个问题,并且已经升级到更新的版本: 我已经下载了web/目录中的3.1.1版本,并且在基本模板( base.html.twig )中: {% javascripts output='compiled/*' 'vendor/jquery-1.8.3.min.js' 'bootstrap-2.0.4/js/bootstrap.min.js' 'js/twitter.js' 'js/main.js' %} <script src="{{ asset_url }}" onerror="redconvive.onErrorEvent(this)"></script> {% endjavascripts %} {% block javascripts %}{% endblock %} 至: {% javascripts output='compiled/*' […]

在Windows上的Symfony 2项目中编译Bootstrap 3

我一直在尝试在Windows上的Symfony 2项目中编译Bootstrap 3。 但是我无法让它工作。 我的主要目标是编译我自己的LESS文件。 我称之为“styles.less”。 在那里,我想能够使用像“make-xs-column”这样的bootstrap混搭。 所以我需要导入bootstrap.less。 这是我到目前为止所做的: 在我的composer.json中,我添加了bootstrap包: { … "require": { … "twitter/bootstrap": "v3.0.3" }, …. } 因为我想使用Bootstrap 3,所以我不能使用lessphpfilter,所以我使用lessfilter。 为此,我不得不安装nodejs,然后减less(通过运行命令“ npm install less -g ”)。 最后,我修改了我的config.yml,如下所示: assetic: debug: "%kernel.debug%" use_controller: false bundles: [ JoePersonalWebSiteBundle ] filters: cssrewrite: ~ less: node: "C:\\dev\\nodejs\\lessc.cmd" node_paths: – "C:\\dev\\nodejs\\node_modules" apply_to: "\.less$" 现在,在我的layout.html.twig中,我添加了以下内容: {% stylesheets filter='less' '@JoePersonalWebSiteBundle/Resources/less/styles.less' %} […]