php exec () значения ошибок - PullRequest
1 голос
/ 16 февраля 2010

У меня есть две последующие команды exec. Первый выполняется без проблем, второй, однако, выдает ошибку:

exec('/usr/bin/pdftk A='. trim($original) .' cat A1 output '. trim($onepage), $output, $error);
var_dump($output); var_dump($error);

exec('/usr/bin/pdftk '. trim($onepage) .' background watermark.pdf output '. trim($modified), $output, $error);
var_dump($output); var_dump($error); 

Первый производит:

array(0) { } int(0) 

Второй:

array(0) { } int(1) 

Права доступа к php-скрипту и каталогам одинаковы. Я попытался удалить команду exec, используя escapeshellargs , но безуспешно.

Ответы [ 2 ]

1 голос
/ 16 февраля 2010

Я не уверен, в чем ваша ошибка, но я бы порекомендовал вам уменьшить фоновый шум, чтобы вам было легче увидеть проблему. Под этим я подразумеваю следующее ...

Возьмите

exec('/usr/bin/pdftk A='. trim($original) .' cat A1 output '. trim($onepage), $output, $error);
var_dump($output); var_dump($error);

exec('/usr/bin/pdftk '. trim($onepage) .' background watermark.pdf output '. trim($modified), $output, $error);
var_dump($output); var_dump($error); 

И сделать

$command1 = '/usr/bin/pdftk A='. trim($original) .' cat A1 output '. trim($onepage);
$command2 = '/usr/bin/pdftk '. trim($onepage) .' background watermark.pdf output '. trim($modified);

exec($command1, $output, $error);
var_dump($output); var_dump($error);
echo $command1;

exec($command2, $output, $error);
var_dump($output); var_dump($error); 
echo $command2;

Таким образом, вы можете вырезать и вставить вывод команды, введенной в командную строку Unix, и, возможно, получить лучшее представление о том, что происходит на уровне Unix.

0 голосов
/ 23 февраля 2010

В итоге получилось следующее:

   $descriptorspec = array(
      0 => array("pipe", "r"), 
      1 => array("pipe", "w"));
   proc_open('/usr/bin/pdftk '. trim($onepage) .' background watermark.pdf output '. trim($modified), $descriptorspec, $pipes);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...