I have a problem with a command line script. The PHP script will never continue.
We tried to call the command line directly through putty, and it gives a lot of errors, but returns / ends instantly. Why doesn't it go back to PHP?
It works fine with other pdf files, but not with this
Pdf
http://docdro.id/b0M5vfw
the code
$Cmd = new Command; if($err = $Cmd->exec('/var/bin/poppler-0.51.0/utils/pdfimages -list /var/test.pdf')){ echo "ERR: $err\n"; } echo "continue\n";
the class
class Command { private $descriptorspec; private $output = ''; private $process; private $pipes = []; public function __construct(){ $this->descriptorspec = [ 0 => ['pipe', 'r'], // stdin 1 => ['pipe', 'w'], // stdout 2 => ['pipe', 'w'] // stderr ]; } public function output(): string{ return $this->output; } public function close(){ foreach($this->pipes as $pipe){ if(is_resource($pipe)){ fclose($pipe); } } proc_close($this->process); } public function exec(string $syntax){ $this->process = proc_open($syntax, $this->descriptorspec, $this->pipes); fclose($this->pipes[0]); $this->output = stream_get_contents($this->pipes[1]); $stderr = stream_get_contents($this->pipes[2]); $this->close(); return $stderr; } }
Mistake
# /var/bin/poppler-0.51.0/utils/pdfimages -list /var/test.pdf page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio -------------------------------------------------------------------------------------------- 1 0 image 2154 303 rgb 3 8 jpeg yes [inline] 289 292 - - Syntax Error (50560): Illegal character '>' Syntax Error (50560): Unknown operator '<10><07><82>;w<ad><a2><b4>2r<1f><10><07><8f>~j<c4>Hq<cf>Z<86>' Syntax Error (50568): Unknown operator '<0f><b5>X<8f><ae><d0>:<d7>DU<91><cb>'v' Syntax Error (50568): Illegal character ')' ........ Syntax Error (66698): Illegal character <04> in hex string Syntax Error (66699): Illegal character <ff> in hex string Syntax Error (66699): Illegal character <c1> in hex string Syntax Error (66705): Unknown operator '<9b>' Syntax Error (66714): Illegal character ')' Syntax Error (66714): Unknown operator '<bc>q<ff>' Syntax Error (66720): Unknown operator '<05>6<f8><c2><fa><d7><c3>?<f8>' Syntax Error (66741): Unknown operator '<df><ec><99><e1>-' Syntax Error (66743): Unknown operator ']' Syntax Error (66762): Unknown operator '<cc>' Syntax Error: Unterminated string Syntax Error: End of file inside array Syntax Error: End of file inside array Syntax Error: Leftover args in content stream
command-line php pdf poppler
clarkk
source share