Php 在不等待响应的情况下调用proc_open

Php 在不等待响应的情况下调用proc_open,php,connection,fsockopen,proc-open,Php,Connection,Fsockopen,Proc Open,由于我必须解释为什么我的问题与问题不同,解释如下: 首先,我想通过php中的proc_open运行shell脚本,而不是通过exec 从概念上讲,这是我脑海中一条孤立的线索(如果成功的话), 它将在后端运行,填充日志文件或排队的db表 从中我可以投票表决我的结果 我有一个proc_open代码,它最终在cli中运行一个php文件: 文件:proc-open.php $descriptorspec = array( 0 => array("pipe", "r"),

由于我必须解释为什么我的问题与问题不同,解释如下:

首先,我想通过php中的proc_open运行shell脚本,而不是通过exec

从概念上讲,这是我脑海中一条孤立的线索(如果成功的话), 它将在后端运行,填充日志文件或排队的db表 从中我可以投票表决我的结果


我有一个proc_open代码,它最终在cli中运行一个php文件:

文件:proc-open.php

    $descriptorspec = array(
       0 => array("pipe", "r"),
       1 => array("pipe", "w"),
       2 => array("file", "midirectory_path/error-output.txt", "a")
    );
    $process = proc_open("php -f myphpfile.php", $descriptorspec, $pipes, "midirectory_path");
    if (!is_resource($process)) {
        die ('Could not execute RUNMYSCRIPT');
    }

    sleep(10);
    fwrite($pipes[0], 'q');
    $result = fread($pipes[1], 1);
    echo stream_get_contents($pipes[1]);
    proc_close($process);
我想点击这行代码,但不想等待响应: 文件:proc-call.php

$url = 'http://example.com/proc-open.php';
$parts=parse_url($url);
$fp = fsockopen($parts['host'],isset($parts['port'])?$parts['port']:80, $errno, $errstr, 30);
$out = "GET ".$parts['path']." HTTP/1.1\r\n";
$out.= "Host: ".$parts['host']."\r\n";
$out.= "Content-Length: 0"."\r\n";
$out.= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
fclose($fp);
但是它没有调用proc_open,我在任务管理器中看不到任何php cli。 我在浏览器中点击,返回200


需要帮助。

可能重复的我在这里有不同的意见,我不想在命令提示符下运行任何东西,而是对长时间运行的作业更感兴趣,知道如何使用PHP利用这种东西吗