『壹』 php與nodejs通信問題
就幾條請求的話,php用fopen或curl訪問一個nodejs伺服器網址,用參數傳遞下要求..
頻繁或復雜通訊是要用rpc的..
『貳』 node.js 怎麼訪問一個php介面
可以的團帆,以GET請求為例
var http = require('http');
var qs = require('querystring');
var data = {
a: 123,
time: new Date().getTime()};//這是需塌扮雹要提交的數據
var content = qs.stringify(data);
var options = {
hostname: '127.0.0.1',
port: 10086,
path: '/pay/pay_callback?' + content,
method: 'GET'缺握
};
var req = http.request(options, function (res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
req.end();
『叄』 PHP和Nodejs能配合使用嗎
可以,如何實現不是很清楚,具體案例為drupal的nodejs模塊,以及若干依賴於此nodejs模塊的其他模塊,比如一些即時聊天的模塊就可以選擇性的依賴於nodejs模塊
『肆』 如何利用php執行nodejs文件
一,安裝DNode,
1, for nodejs, 執行
$ sudo npm install dnode
2, for php, 利用composer來安裝DNode php
執行下列語句下載composer
$ wget http://getcomposer.org/composer.phar
創建一個文件composer.json,然後填入如下語句,
{
"require": {
"dnode/dnode": "0.2.0"
}
}
執行如下語句安裝,
$ sudo php composer.phar install
二,利用nodejs創建簡單server程序, server.js
var dnode = require('dnode');
var server = dnode({
zing: function (n, cb) { cb(n * 100) }
});
server.listen(7070);
三,利用php創建客戶端程序client.php, 其中需要引用剛才安裝的dnode文件夾裡面的文件autoload.php
<?php
// Connect to DNode server running in port 7070 and call
// Zing with argument 33
require 'lib/vendor/autoload.php';
// This is the class we're exposing to DNode
class Temp
{
// Compute the client's temperature and stuff that value into the callback
public function temperature($cb)
{
}
}
$loop = new React\EventLoop\StreamSelectLoop();
$dnode = new DNode\DNode($loop, new Temp());
$dnode->connect(7070, function($remote, $connection) {
// Remote is a proxy object that provides us all methods
// from the server
$remote->zing(33, function($n) use ($connection) {
echo "n = {$n}\n";
// Once we have the result we can close the connection
$connection->end();
});
});
$loop->run();
?>
『伍』 PHP 與 NodeJS 如何共用 Session
PHP 與 NodeJS共用 Session的方法是PHP暴露一個Service,向Node提供Session數據。php_session.php?SID=xxxx
1、php代碼:
<?php
function getSessionByID($SID) {
if (session_id()) {
// 關閉當前session
session_destroy();
}
// 初始化指定session
session_id($SID);
session_start();
// 返回操作介面更友好的JSON
// 必要的FLAG看這里 http://www.php.net/manual/en/json.constants.php
return json_encode($_SESSION);
}
header('Content-Type:application/json');
echo getSessionByID($_GET['SID']);
?>
2、node實現代碼:
var request = require('request');
request('http://localhost/php_session.php?SID=xxxx', function(err, res, body) {
if (!err && res.statusCode == 200) {
// 根據需要使用body(json)
}
});
『陸』 node調用php介面怎麼調用
這個我也不太清楚!建議樓主你可以去後盾人平台看看,裡面的東西不錯
『柒』 nodejs 怎麼用到 php 網站上
NodeJS是不能行升坦用到PHP網站上的,因為NodeJS也是運行於服務端的。你檔桐可以架設兩個伺服器,一個用NodeJS,一個用PHP,然後NodeJS從PHP上用SOAP等笑液方式存取數據就行了。
『捌』 Mac 中使用多版本node & PHP
vue開發過程中使用npm來安裝依賴的第三方包,但是不同版本的npm對包的維護方式不一樣,更新node後舊項目易無法安裝包導致無法運行,因此需要多個版本的node。
Mac中可以使用brew來管理node工具,使用多版本的node時需要安裝nvm,之滲返前已經安裝了node的話需要首先刪除node, brew list 可查看是否已安裝node和nvm。
在~/.zshrc或者~/.bashrc中添加下祥喊神面命令,取決於終端使用的哪種
執行 source ~/.zshrc or source ~/. bashrc
查看nvm是否安裝成功 nvm -v
假如需要安裝10.24.0
使用 node -v , npm -v 查看是否安裝成功
nvm list 可列出已安裝的node版本,假如安裝了v10.24.0 和v15.12.0兩個版本,使用15版本時執行命令
使用brew控制PHP版本,加入准備使用PHP7.2 和 PHP7.4
首先安裝PHP
在 ~/.zshrc 中添加
使用PHP7.2時
並且將 ~謹虧/.zshrc 中[email protected]的配置注釋,執行
php -v 查看當前版本
『玖』 nodejs搭建伺服器運行php
nodejs其實是非常底層的,從功能上說,它既是apache也是php。像搭建http伺服器這種功能,本來是apache已經封裝好的,但nodejs需要我們手動來搭建。其實在實際頃孝應用中,我們可以使用現成的框架。但這磨乎伍里,我想手動搭建,也加深一下對http伺服器的理解。
我們node執行下面這個文件,我命名為瞎或http.js,它將創建一個httpServer並監聽3000埠。