问题:获取Warning: exec(): Unable to fork
与hello.js
问题:我怎样才能使它工作?
描述:我试图让幻影在Windows服务器上工作。 我在public_html
文件夹中有以下文件:
其中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可能会有所帮助
另外,你有没有尝试使用完整的路径?
但是必须说,public_html中的exe声音对我来说听起来有风险。我认为 (使用错误的权限配置)任何人都可以远程执行,并且可能将路径传递到服务器上的任何文件,包括非公共文件。
想不出有什么理由需要专门去那里,而不是在一个更安全的非网页访问的位置。
实际上这可能与内存有关,而不是权限。 这里有一个关于同一个问题的问题。
它可能是你的代码中的其他地方的泄漏,然而phantomjs本身也有一些内存消耗的问题 。