【问题标题】:PhantomJS on server - PHP exec unable to fork服务器上的 PhantomJS - PHP exec 无法分叉
【发布时间】:2023-04-04 02:45:02
【问题描述】:

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

问题:我怎样才能让它发挥作用?

说明: 我正在尝试让 phantomJs 在 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 

以上代码目前托管在here

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

【问题讨论】:

    标签: javascript php windows phantomjs


    【解决方案1】:

    可能是对 phantomjs.exe 的权限,您是否尝试过更改它们? http://php.net/manual/en/ref.exec.php#32601 可能会有所帮助

    另外,您是否尝试过使用完整路径?

    但是必须说,public_html 中的 exe 对我来说听起来很冒险。我认为(使用错误的权限配置)任何人都可以远程执行它,并可能将路径传递给你的任何文件服务器,包括非公开文件。

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

    【讨论】:

    • 不幸的是,我目前对服务器没有太多控制权,因此权限可能是个问题。但是,我可以将所有文件的权限更改为 766,但我仍然遇到同样的错误。现在我正在尝试在 EC2 上创建一个 WAMP 以进一步调查。我也尝试过以许多不同的方式使用完整路径,但问题仍然存在。关于安全问题,我是新手,所以我真的不知道如何处理它,你知道任何关于网络安全的好资源吗?
    【解决方案2】:

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

    这可能是代码中其他地方的泄漏,但是 phantomjs itself has some issues with memory consuming

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      相关资源
      最近更新 更多