node.js 执行php,node.js - 如何利用php执行nodejs文件
如何利用php 的exec執行nodejs文件? 如下執行卻執行失敗
public function execTask ($dirPath)
{
$serverPath = self::$serverPath;
exec("node httpd.js $serverPath",$info, $val);
var_dump($info);
echo "$val";
}
如果僅僅是exec("node -v $serverPath",$info, $val);卻可以輸出版本號,執行成功。求解答,謝謝。
回復內容:
如何利用php 的exec執行nodejs文件? 如下執行卻執行失敗
public function execTask ($dirPath)
{
$serverPath = self::$serverPath;
exec("node httpd.js $serverPath",$info, $val);
var_dump($info);
echo "$val";
}
如果僅僅是exec("node -v $serverPath",$info, $val);卻可以輸出版本號,執行成功。求解答,謝謝。
你可以換成 shell_exec 試試
我也有類似的用法,所以除了有能讀出消息的之外,還有能直接后臺執行的功能,都是通過進程實現的
/**
* 返回的漢語文字信息在windows中是GB2312編碼,需要手動改成UTF8
* iconv("GB2312","UTF-8",$read);
* @param $cmd
* @return array
*/
public function execFront($cmd)
{
$response = array();
$handle = popen("$cmd 2>&1", 'r');
while ($read = fread($handle, 20096)) {
if(!mb_detect_encoding($read, 'UTF-8', true))
iconv("GB2312","UTF-8",$read);
$response[] = trim($read);
}
pclose($handle);
flush();
return $response;
}
/**
* @param $cmd
*/
public function execBackend($cmd)
{
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start cmd /c ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
return;
}
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的node.js 执行php,node.js - 如何利用php执行nodejs文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java查询类提供的方法_查询一个类的方
- 下一篇: php redis 源码分析,从源码中分