Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为proc_open设置正确的路径_Php_Apache_Xampp - Fatal编程技术网

Php 如何为proc_open设置正确的路径

Php 如何为proc_open设置正确的路径,php,apache,xampp,Php,Apache,Xampp,我有一段代码如下: $process = proc_open(sprintf('node "%s"', $tmpfile), $desc, $pipes); 产生 sh: node: command not found 我试图用SetEnv在httpd.conf中设置$PATH,然后用getenv'PATH'回显它。输出实际上包含到节点的路径 我可以使用变量proc_open,但我想避免使用它,因为它是其他人的代码 我有没有办法给它一条正确的道路 我正在运行适用于Mac OS X的XAMPP

我有一段代码如下:

$process = proc_open(sprintf('node "%s"', $tmpfile), $desc, $pipes);
产生

sh: node: command not found
我试图用SetEnv在httpd.conf中设置$PATH,然后用getenv'PATH'回显它。输出实际上包含到节点的路径

我可以使用变量proc_open,但我想避免使用它,因为它是其他人的代码

我有没有办法给它一条正确的道路


我正在运行适用于Mac OS X的XAMPP 1.8.2。

在$pipes之后,您可以分配CWD。你应该把它传过来。就用php.ini文件设置cwd而言,我认为这是不可能的

您应该能够执行以下操作:

$process = proc_open(sprintf('node "%s"', $tmpfile), $desc, $pipes, __DIR__);
提供的节点可执行文件位于同一目录中。或者,您可以将节点移动到

echo getcwd();
虽然这通常有点乱

编辑:
您还应该能够在$pipes之后使用别名或符号链接到cwd,这样您就可以分配cwd了。你应该把它传过来。就用php.ini文件设置cwd而言,我认为这是不可能的

您应该能够执行以下操作:

$process = proc_open(sprintf('node "%s"', $tmpfile), $desc, $pipes, __DIR__);
提供的节点可执行文件位于同一目录中。或者,您可以将节点移动到

echo getcwd();
虽然这通常有点乱

编辑:
您还应该能够使用指向cwd的别名或符号链接,而不受影响。proc\u open允许您将环境变量传递给cwd。如果PHP生成的进程的路径正确,那么这可能是最容易获取节点的方法

$env = array(
    'PATH' => '/usr/local/bin' //Path to node bin dir
);

$process = proc_open($command, $descriptorspec, $pipes, __DIR__, $env);

proc_open允许您将环境变量传递给它。如果PHP生成的进程的路径正确,那么这可能是最容易获取节点的方法

$env = array(
    'PATH' => '/usr/local/bin' //Path to node bin dir
);

$process = proc_open($command, $descriptorspec, $pipes, __DIR__, $env);

谢谢你关于符号链接的想法。这段代码在服务器上运行得很好,只是我想在不更改代码的情况下获得本地版本。感谢关于符号链接的想法。这段代码在服务器上运行良好,只是我想在不更改代码的情况下获得本地版本。