想實現的功能是這樣:客戶端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 關注
- 716 瀏覽
添加回答
舉報
0/150
提交
取消