想实现的功能是这样:客户端PHP页面,执行某个任务,比如新建站点,通过某种方式通知 后端的 nc 监听程序,然后执行相关脚本,不如创建ftp账号、新建目录等。但是,应该怎样才能够通过 php 发消息给 nc 呢?求教!以下是php客户端:$fp = fsockopen ("udp://127.0.0.1",40030,$errno,$errstr,30);
if(!$fp){
echo "$errstr ($errno) <br />";
}else{
fwrite($fp,"Hello nc");
echo "Success";
fclose($fp);
}以下是 shell 服务端:#!/bin/bash
killall 'nc' >/dev/null 2>&1
nc -l -u 40030 | while read Line
do
echo $Linedone可是为什么不输出呢?
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
因为Bash的read命令是 Read a line from the standard input and split it into fields.
所以你需要输出一个换行符:fwrite($fp,"Hello nc\n");
另外为什么你不直接在PHP使用popen执行脚本,干嘛多此一举用nc?你这个nc连接close掉就close掉了。
- 2 回答
- 0 关注
- 694 浏览
添加回答
举报
0/150
提交
取消