Я пытаюсь заставить функцию exec () выдавать запятую для pdftk, и она не работает, и я не могу понять, как зафиксировать ошибку, если ее выдают.
Я старался:
$output = array();
$return_var = -1;
exec('pdftk RabiesVacCert.pdf fill_form vac.fdf output vaccine_cert.pdf flatten',$output,$return_var);
if ($return_var === 0) {
//Record the success
}else{
throw new \Exception(implode("\n", $output));
}
а также:
$output = array();
$return_var = -1;
exec("pdftk /full/path/to/folder/where/class/is/RabiesVacCert.pdf fill_form /full/path/to/folder/where/class/is/vac.fdf output /full/path/to/folder/where/class/is/Shotsvaccine_cert.pdf flatten",$output,$return_var);
if ($return_var === 0) {
//Record success
}else{
throw new \Exception(implode("\n", $output));
}
и ничего не происходит Любые идеи, что я делаю неправильно с exec () или как я могу показать ошибки? Работает на Ubuntu 14.04 и работает нормально через командную строку на сервере.
Я изменил его на shell_exec () и теперь он работает нормально.
shell_exec
Выполнить команду через оболочку и вернуть весь вывод в виде строки.
увидеть Документация.