服务器上的PhantomJS – PHP的exec无法分叉

问题:获取Warning: exec(): Unable to forkhello.js

问题:我怎样才能使它工作?

描述:我试图让幻影在Windows服务器上工作。 我在public_html文件夹中有以下文件:

  1. phantomjs.exe
  2. 的index.php
  3. hello.js

其中index.php是简单的:

 <?php $response = exec('phantomjs.exe hello.js'); 

hello.js是:

 console.log("Hello world!"); phantom.exit(); 

当我运行index.php我得到以下错误:

 Warning: exec(): Unable to fork [phantomjs.exe hello.js] in D:\sites\creditflow.com\public_html\index.php on line 1 

上面的代码目前在这里托pipe。

问题:我怎样才能使它工作?

可能是phantomjs.exe的权限,你有没有尝试改变它们? http://php.net/manual/en/ref.exec.php#32601可能会有所帮&#x52A9;

另外,你有没有尝试使用完整的路径?

但是必须说,public_html中的exe声音对我来说听起来有风险。我认为 (使用错误的权限配置)任何人都可以远程执行,并且可能将路径传递到服务器上的任何文件,包括非公共文件。

想不出有什么理由需要专门去那里,而不是在一个更安全的非网页访问的位置。

实际上这可能与内存有关,而不是权限。 这里有一个关于同一个问题的问题。

它可能是你的代码中的其他地方的泄漏,然而phantomjs本身也有一些内存消耗的问题 。