我试图构建一个使用nodejs,php,html和css的html scada系统。
我的程序:我在nodejs中有这个小小的9行代码;我用这个代码与modbus协议中的一个PLC通信。如果我从终端运行代码的话,代码就能很好地工作;
my problem:我试图在html页面中使用php 提交按钮来运行这段代码,但我认为我遗漏了一些东西,因为它不起作用。
谢谢你。nodejs代码:
// create an empty modbus client
var ModbusRTU = require("modbus-serial");
var client = new ModbusRTU();
// open connection to a serial port
client.connectRTUBuffered("COM2", { baudRate: 9600 ,parity: "even", dataBits: 8, stopBits: 1} , write );
function write() {
client.writeCoil(22, 1);
}
html代码::
<html>
<head>
<title>PHP isset() example</title>
</head>
<body>
<form method="post">
<input type="submit" value="Sum" name="Submit1"><br/><br/>
<?php
if(isset($_POST["Submit1"]))
{
exec('write.js >/dev/null/ 2>&1 &');
}
?>
</form>
<script src="write.js" type="text/javascript" ></script>
</body>
</html>
发布于 2021-06-28 07:35:10
您想要执行一个js文件,没有解释器是不可能的。您的exec
代码应该如下所示:
exec('node write.js')
这里,node
是节点实例的可执行文件。
https://stackoverflow.com/questions/68159277
复制相似问题