title: NodeJs exec-php module, php is not a command
body: <p>I am trying to call a <code>php</code> file from my <code>nodejs</code> file. I have installed and required the <code>exec-php</code> module and it has been install fine. The error I am getting is:</p>
  
  <pre><code>{ Error: Command failed: php C:\Users\***\Desktop\nodejs\xxchat11\node_modules\exec-php\lib\php\cli.php -pC:\Users\***\AppData\Local\Temp\tmp-129647qzlx6s.gh55ewmi.tmp -rC:\Users\***\AppData\Local\Temp\tmp-12964
  7pid95t.8vpiizfr.tmp
  'php' is not recognized as an internal or external command,
  operable program or batch file.
     at ChildProcess.exithandler (child_process.js:204:12)
      at emitTwo (events.js:106:13)
      at ChildProcess.emit (events.js:191:7)
      at maybeClose (internal/child_process.js:886:16)
      at Socket.&lt;anonymous&gt; (internal/child_process.js:342:11)
      at emitOne (events.js:96:13)
      at Socket.emit (events.js:188:7)
      at Pipe._handle.close [as _onclose] (net.js:501:12)
    killed: false,
    code: 1,
    signal: null,
    cmd: 'php C:\\Users\\***\\Desktop\\nodejs\\xxchat11\\node_modules\\exec-php\\lib\\php\\cli.php -pC:\\Users\\***\\AppData\\Local\\Temp\\tmp-129647qzlx6s.gh55ewmi.tmp -rC:\\Users\\***\\AppData\\Local\\Temp\\tmp-
  129647pid95t.8vpiizfr.tmp' }
  </code></pre>
  
  <p>My <code>php</code> file is:</p>
  
  <pre><code>&lt;?php
  $hashes = array('md2','md4','md5','sha1','sha224','sha256','sha384','sha512','ripemd128','ripemd160','ripemd256','ripemd320','whirlpool','tiger128,3','tiger160,3','tiger192,3','tiger128,4','tiger160,4','tiger192,4','snefru','snefru256','gost','gost-crypto','adler32','crc32','crc32b','fnv132','fnv1a32','fnv164','fnv1a64','joaat','haval128,3','haval160,3','haval192,3','haval224,3','haval256,3','haval128,4','haval160,4','haval192,4','haval224,4','haval256,4','haval128,5','haval160,5','haval192,5','haval224,5','haval256,5');
  function hash($method. $plaintext){
    if(in_array($method, $hashes)){
      $hashed = hash($method, $plaintext);
      echo 'The '.$method.' hash, for the string `'.$plaintext.'` is: '.$hashed;
    } else {
      echo "Method not found! Please type !help to see the list of supported methods.";
    }
  }
  ?&gt;
  </code></pre>
  
  <p>In my <code>nodejs</code> file I call the php file by:</p>
  
  <pre><code>var execPhp = require('exec-php');
  
  app.get('/hash.php/:method/:text', function(req,res){
    execPhp(__dirname+'/hash.php', function(error, php, output){
      console.log(error);
      //php.hash(req.params.method, req.params.text, function(err, result){
          //res.send(result);
      //});
    });
  });
  </code></pre>
  
  <p>Also, within my <code>index</code> file I am running the <code>app.get()</code> by:</p>
  
  <pre><code>$.get('hash.php/'+method+'/'+plaintext, function(data) {
      $chat.append('Chatbot: &lt;strong&gt;'+data+'&lt;/strong&gt;&lt;Br /&gt;');
  });
  </code></pre>
  
  <p>Have I done anything wrong within this code that will affect the error? Also, If there is a more efficient way of doing this please let me know as I have spent a couple hours already trying to figure out how to get these files to work smoothly.</p>