Tag: php

使用NodeJS实时实时更新数据库视图

我一直在玩Nodejs,现在想知道如果我可以创build实时更新视图/页面,如本教程中所示 上面的例子将适用于现场的所有用户,我想要的是将我的更新定位到某些用户。 我是否创build一个存储所有客户端套接字的数组,当用户login时创build一个套接字。 另一件事我怎么可以更新网页或视图,如果有什么更新数据库中我每秒轮询服务器? 我使用MySQL有数据库,我应该使用Redis吗? 编辑:另外一个问题,我想知道nodejs如何检查数据库字段已更新或更改,并更新视图或网页? 谢谢

Node.JS通知在我的基于PHP的网站上

我正在开发一个PHP网站。 现在,我想简单地添加一个通知系统。 想象一下,它像Facebook的友谊:当我收到朋友的请求,我也收到通知。 我当然知道一点Node.JS和Socket.IO,但棘手的部分似乎是与PHP的实施。 我到目前为止是: 1. user sends friend request 2. in my PHP code, I cURL my Node.JS service: "/notification?friendid=9634963478" 3. user with id 9634963478 should get a notification 我面临的问题是: 如何在Node.js上使用相同的凭据“login”? 所以基本上没有其他用户可以得到这些消息? 我不是在寻找代码,而是从那里的一些古鲁的“启示”。

从PHP运行NodeJS命令

我有以下PHP代码,当用户单击本地Intranet页面上的button来运行某些Node JS命令时,将运行该代码。 例如 exec('npm install', $output); $output = implode(PHP_EOL, $output); echo $output; 但命令似乎并没有运行…它是如果我input命令进入命令提示符并运行它… 我没有看到任何错误,并且NodeJS在Path中被设置为系统variables,所以它应该知道什么是咕噜声…任何想法? 其他命令,如whoami运行良好。 有任何想法吗? 我在Windows 7上。 更新:根据下面的评论,我现在可以得到一个错误: exec('npm install 2>&1', $output, $returnCode); $output = implode(PHP_EOL, $output); echo $output . ' ' . $returnCode; 这是错误的: TypeError: Cannot call method 'get' of undefined at C:\Program Files (x86)\nodejs\node_modules\npm\lib\npm.js:310:23 at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npmconf\npmconf.js:80:7 at Array.forEach (native) at […]

NodeJS推送队列,由Laravel工作人员使用

我试图消费节点应用程序发送给SQS的消息。 因此,“推”操作由服务器A上的节点应用执行,服务器B上的Laravel App的“监听”操作。 我的问题:我不知道如何格式化php artisan queue:work消耗的有效载荷php artisan queue:work 。 有没有人经历过这个,find了解决办法? 谢谢!

Laravel:laravel-elixir包不能满足兄弟姐妹的需求,

我想使用更新的软件包,并得到错误: npm ERR! peerinvalid The package laravel-elixir does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer laravel-elixir-livereload@1.1.3 wants laravel-elixir@^3.0 package.json包含: { "private": true, "devDependencies": { "gulp": "3.9.0", "laravel-elixir-livereload": "1.1.3", "babel-eslint": "5.0.0-beta6", "eslint": "1.10.3", "eslint-config-airbnb": "2.1.1", "eslint-plugin-react": "3.13.1", "laravel-elixir-eslint": "1.3.0" }, "dependencies": { "laravel-elixir": "^4.0.0", "bootstrap-sass": "^3.0.0", "jquery": "2.1.4" }, "scripts": { "lint": "./node_modules/.bin/eslint […]

通过Amazon SQS将压缩文本从PHP发送到NodeJS

我似乎被卡在通过Amazon SQS将压缩的消息从PHP发送到NodeJS。 在PHP方面我有: $SQS->sendMessage(Array( 'QueueUrl' => $queueUrl, 'MessageBody' => 'article', 'MessageAttributes' => Array( 'json' => Array( 'BinaryValue' => bzcompress(json_encode(Array('type'=>'article','data'=>$vijest))), 'DataType' => 'Binary' ) ) )); 注1:我也尝试将压缩数据直接放在消息中,但是库给了我一些错误,包含一些无效的字节数据 在节点方面,我有: body = decodeBzip(message.MessageAttributes.json.BinaryValue); 其中消息来自sqs.receiveMessage()调用,并且该部分工作,因为它为原始(未压缩的消息) 我得到的是TypeError:不正确的格式 我也试过使用: PHP – 节点 gzcompress() – zlib.inflateraw() gzdeflate() – zlib.inflate() gzencode() – zlib.gunzip() 而每一对都给了我他们的版本相同的错误(本质上,input数据是错误的) 鉴于所有我开始怀疑在消息传输的某个地方的错误 我究竟做错了什么? 编辑1 :似乎错误是在传输中的某处,因为PHP中的bin2hex()和.toString('hex')在节点返回完全不同的值。 似乎PHP中的Amazon SQS API使用base64传输BinaryAttribute,但Node无法对其进行解码。 我设法通过closures在amazon awsconfiguration文件中的自动转换,然后在节点中手动解码base64,但它仍然无法解码它部分解码。 […]

如何将phpseclib的CRYPT_RSA_SIGNATURE_PKCS1转换为节点

如何将PHP的$rsa->verifyfunction转换为节点? 我使用了这样的encryptionvalidationfunction: const crypto = require('crypto'); const verify = crypto.createVerify('RSA-SHA256'); verify.update('some data to sign'); const public_key = getPublicKeySomehow(); const signature = getSignatureToVerify(); console.log(verify.verify(public_key, signature)); 但它总是返回false。 当我通过php运行我的数据和签名时,它将返回true! 任何想法我可能做错了什么? PHPvalidationfunction如下所示: function verify($message, $signature) { if (empty($this->modulus) || empty($this->exponent)) { return false; } switch ($this->signatureMode) { case CRYPT_RSA_SIGNATURE_PKCS1: return $this->_rsassa_pkcs1_v1_5_verify($message, $signature); //case CRYPT_RSA_SIGNATURE_PSS: default: return $this->_rsassa_pss_verify($message, $signature); } […]

如何控制NodeJS中的应用程序stream

我在nodeJS中编写我的第一个应用程序。 我正在写一个电报机器人,我想知道如何控制应用程序的stream程,因为它是asynchronous的。 我来自一个简单的,程序性的,一个接一个的php背景。 比方说,在我的机器人,收到任何消息时,首先程序必须确保用户的详细信息在caching或数据库中,然后再继续。 检查完成后,可以继续。 我打算通过使用一个标志variables来做到这一点,但由于JavaScript的asynchronous性质,无法完成。 我不知道如何去做这件事。 我是否将侦听器分配给对象并发出事件来控制stream? 这是我的代码 const fs = require('fs'); // Establish connection with cache and database const mysql = require('mysql-wrapper'); const Memcached = require('memcached'); const memcached = new Memcached('localhost:11211'); const bb = require('bot-brother'); var settings = { host: 'localhost', database: 'test', user: 'root', }; var qb = require('node-querybuilder').QueryBuilder(settings, 'mysql', 'single'); //Load […]

通过PHP和cURL访问NodeJS / Socket.io

我正在运行一个nodejs / socket.io(v 0.7)服务器来将数据推送到Web客户端。 这很有效。 为了扩展应用程序,我需要通过php触发/影响socket.io。 我知道一个解决scheme,通过http与nodejs http服务器一起使用cURL。 一个可能的解决scheme是在同一个app.js中运行socket.io服务器和nodejs http服务器。 客户端与socket.io进行连接和通信,并且唯一允许的连接到“独立的”http服务器(当然,在socket.io以外的另一个端口上监听)分别从php服务器上的cURL的127.0.0.1开始。 由于两台服务器在同一个作用域内,所以http服务器可以在socket.io服务器上触发事件。 我的问题:是否有意义? 是否有一个更清洁的解决scheme来触发从PHP的socket.io事件?

node.js能做什么,php不能,反之亦然?

我一直在使用WAMP堆栈开发Web应用程序。 我广泛地使用JavaScript jQuery,并且想要开始学习node.js,但是node.js能解决哪些问题,我不能在php中做什么,或者node.js会为其他服务器端语言提供什么额外的好处。 我也有兴趣知道它的局限性,以帮助我决定使用它可以实现多less和多less。