public function exec($command)
    {
        // run command
        $exit = -1;
        $logfile = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'tika-error.log';
        $descriptors = [['pipe', 'r'], ['pipe', 'w'], ['file', $logfile, 'a']];
        $process = proc_open($command, $descriptors, $pipes);
        $callback = $this->callback;

        // get output if command runs ok
        if(is_resource($process))
        {
            fclose($pipes[0]);
            $this->response = '';
            while($chunk = stream_get_line($pipes[1], $this->chunkSize))
            {
                if(!is_null($callback))
                {
                    $callback($chunk);
                }

                $this->response .= $chunk;
            }
            fclose($pipes[1]);
            $exit = proc_close($process);
        }

        // exception if exit value is not zero
        if($exit > 0)
        {
            throw new Exception("Unexpected exit value ($exit) for command $command");
        }

        return trim($this->response);
    }
public function exec($command)
    {
        // run command
        $exit = -1;
        $logfile = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'tika-error.log';
        $descriptors = [['pipe', 'r'], ['pipe', 'w'], ['file', $logfile, 'a']];
        $process = proc_open($command, $descriptors, $pipes);
        $callback = $this->callback;

        // get output if command runs ok
        if(is_resource($process))
        {
            fclose($pipes[0]);
            $this->response = '';
            while($chunk = stream_get_line($pipes[1], $this->chunkSize))
            {
                if(!is_null($callback))
                {
                    $callback($chunk);
                }

                $this->response .= $chunk;
            }
            fclose($pipes[1]);
            $exit = proc_close($process);
        }

        // exception if exit value is not zero
        if($exit > 0)
        {
            throw new Exception("Unexpected exit value ($exit) for command $command");
        }

        return trim($this->response);
    }
public function exec ( $ command ) { // run command $ exit = - 1 ; $ logfile = sys_get_temp_dir ( ) . DIRECTORY_SEPARATOR . 'tika-error.log' ; $ descriptors = [ [ 'pipe' , 'r' ] , [ 'pipe' , 'w' ] , [ 'file' , $ logfile , 'a' ] ] ; $ process = proc_open ( $ command , $ descriptors , $ pipes ) ; $ callback = $ this -> callback ; // get output if command runs ok if ( is_resource ( $ process ) ) { fclose ( $ pipes [ 0 ] ) ; $ this -> response = '' ; while ( $ chunk = stream_get_line ( $ pipes [ 1 ] , $ this -> chunkSize ) ) { if ( ! is_null ( $ callback ) ) { $ callback ( $ chunk ) ; } $ this -> response .= $ chunk ; } fclose ( $ pipes [ 1 ] ) ; $ exit = proc_close ( $ process ) ; } // exception if exit value is not zero if ( $ exit > 0 ) { throw new Exception ( "Unexpected exit value ($exit) for command $command" ) ; } return trim ( $ this -> response ) ; }
Run the command and return its results

@param   string  $command
@return  null|string
@throws  \Exception
Run the command and return its results