找回密码
 免费注册

[PHP] PHP调用nodeJs脚本的四种方法实例

[复制链接]
admin 发表于 2024-2-1 00:54:22 | 显示全部楼层 |阅读模式
PHP脚本实例
  1. <?php
  2. $command = 'node json.js'; // Node.js脚本文件路径
  3. //方法1
  4. $output = exec($command); // 执行Node.js脚本并获取输出结果
  5. echo $output; // 打印输出结果
  6. //方法2
  7. $output = shell_exec($command); // 执行Node.js脚本并获取输出结果
  8. echo $output; // 打印输出结果
  9. //方法3
  10. system($command, $return_var); // 执行Node.js脚本并获取返回值
  11. echo $return_var; // 打印返回值
  12. //方法4
  13. $pipe = popen($command, 'r'); // 执行Node.js脚本并打开管道
  14. while (!feof($pipe)) {
  15.     $output .= fread($pipe, 4096); // 从管道中读取输出结果
  16. }
  17. pclose($pipe); // 关闭管道
  18. echo $output; // 打印输出结果
  19. ?>
复制代码
nodeJs脚本实例
  1. const test = {
  2.     a:1,
  3.     b:2
  4. };
  5. console.log(JSON.stringify(test));
复制代码


回复

使用道具 举报

 楼主| admin 发表于 2024-3-11 12:58:18 | 显示全部楼层
  1. <?php
  2. // Node.js脚本路径
  3. $nodeScriptPath = 'douyin.js';

  4. // 参数列表
  5. $arg1 = 'value1';
  6. $arg2 = 'value2';

  7. // 构建命令
  8. $command = "node $nodeScriptPath $arg1 $arg2";

  9. // 执行命令
  10. $output = exec($command, $outputArray, $returnVar);

  11. // 输出结果
  12. echo "Output: $output\n";
  13. echo "Return Array: " . json_encode($outputArray) . "\n";
  14. echo "Return Var: $returnVar\n";
  15. ?>
复制代码

PHP带参数调用NODE,在Node.js端,你可以使用process.argv来接收传递的参数:
  1. // node_script.js

  2. // 获取命令行参数
  3. const args = process.argv.slice(2); // 去掉第一个元素(node的路径)和后面的元素(可能是Node.js内部添加的)

  4. // 只获取第1个参数
  5. const arg = process.argv[2]

  6. // 打印参数
  7. console.log(args);

  8. // 你的逻辑代码...
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|Archiver|手机版|小黑屋|信息共享网

GMT+8, 2024-5-14 09:33 , Processed in 0.070016 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表