title: Run gulp "npm start" from a php document?
body: <p>Im trying to run a shell command for gulp to compile.</p>
  
  <p>i usually run:</p>
  
  <pre><code>cd
  cd /var/www/html/
  npm uninstall gulp --save
  npm install gulp --save
  
  npm start
  </code></pre>
  
  <p>and the gulp file compiles well.</p>
  
  <p>I need to know if theres a way to compile the gulp file (essentially running the npm start  command from a php document.</p>
  
  <pre><code>$output = shell_exec('./compileNpmStart.sh');
  
  // display $output
  echo $output;
  </code></pre>
  
  <p>This does seem to compile but:</p>
  
  <p>After compilation i got a log file instead of correct compilation.</p>
  
  <pre><code>0 info it worked if it ends with ok
  1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'start' ]
  2 info using npm@4.1.2
  3 info using node@v7.5.0
  4 verbose run-script [ 'prestart', 'start', 'poststart' ]
  5 info lifecycle base-prep@1.0.0~prestart: base-prep@1.0.0
  6 warn lifecycle npm is using /usr/bin/nodejs but there is no node binary in the current PATH. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.
  7 silly lifecycle base-prep@1.0.0~prestart: no script for prestart, continuing
  8 info lifecycle base-prep@1.0.0~start: base-prep@1.0.0
  9 verbose lifecycle base-prep@1.0.0~start: unsafe-perm in lifecycle true
  10 verbose lifecycle base-prep@1.0.0~start: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/var/www/html/node_modules/.bin
  11 verbose lifecycle base-prep@1.0.0~start: CWD: /var/www/html
  12 silly lifecycle base-prep@1.0.0~start: Args: [ '-c', 'gulp serve' ]
  13 info lifecycle base-prep@1.0.0~start: Failed to exec start script
  14 verbose stack Error: base-prep@1.0.0 start: `gulp serve`
  14 verbose stack spawn sh ENOENT
  14 verbose stack     at exports._errnoException (util.js:1023:11)
  14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
  14 verbose stack     at onErrorNT (internal/child_process.js:359:16)
  14 verbose stack     at _combinedTickCallback (internal/process/next_tick.js:74:11)
  14 verbose stack     at process._tickCallback (internal/process/next_tick.js:98:9)
  15 verbose pkgid base-prep@1.0.0
  16 verbose cwd /var/www/html
  17 error Linux 4.8.6-x86_64-linode78
  18 error argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
  19 error node v7.5.0
  20 error npm  v4.1.2
  21 error file sh
  22 error path sh
  23 error code ELIFECYCLE
  24 error errno ENOENT
  25 error syscall spawn sh
  26 error base-prep@1.0.0 start: `gulp serve`
  26 error spawn sh ENOENT
  27 error Failed at the base-prep@1.0.0 start script 'gulp serve'.
  27 error Make sure you have the latest version of node.js and npm installed.
  27 error If you do, this is most likely a problem with the base-prep package,
  27 error not with npm itself.
  27 error Tell the author that this fails on your system:
  27 error     gulp serve
  27 error You can get information on how to open an issue for this project with:
  27 error     npm bugs base-prep
  27 error Or if that isn't available, you can get their info via:
  27 error     npm owner ls base-prep
  27 error There is likely additional logging output above.
  28 verbose exit [ 1, true ]
  </code></pre>