因此,我開始構建一個NodeJS應用程序,它與網站的前端一起工作。這是建立的,我想要的是通過PHP啓動它。所以你可以點擊保存,然後啓動它,如果需要的話。從PHP啓動節點似乎保持PHP運行?
該應用程序是一個websocket服務器,將監聽websocket並處理來自客戶端(我的網站的前端)的數據/命令。
我現在用的推出是如下代碼:
$command = '/usr/local/bin/node main.js & echo $!';
$processid = shell_exec($command);
但由於某些原因,當我點擊保存在前端它只是掛起,並保持加載...但深藏不露這一頁?它創建的過程,我可以看到它這樣做的:
lsof -i tcp:8000
和頁面只有當我殺了那個節點正在運行的進程停止加載...
我使用:
kill -9 <pid>
殺死它。所以我爲什麼沒有在後臺運行它,然後完成PHP腳本有點失落......它只是掛在它上面?
任何幫助,將不勝感激。
有一點需要注意的是,它都是從命令行運行的,因此該文件是一個單獨的啓動器類,如果我通過php運行它並添加一些代碼來執行任務,它只有在我稱之爲從別的東西我有這個問題?
如果有幫助;網站使用的框架是Joomla 3.x,預先感謝。
我在MacBook Air上埃爾卡皮坦 還需要在Linux CentOS的
嗨感謝這個,我嘗試使用nohup的,但我得到了以下錯誤:nohup的:不能從控制檯分離:不適當的IOCTL用於設備 –
您好,我只是用這個和它的工作,事實證明我沒有正確管理標準輸出,所以它會讓PHP掛起。非常感謝! –