php exec tesseract выводит пустой массив

Я установил tesseract v3.01 на Windows 7. Я добавил путь tesseract к переменным среды. Я получаю правильный вывод после ввода этой команды в окнах cmd: «tesseract test.tif test».

Когда я пытаюсь получить тот же результат в php, используя следующий скрипт, я получаю пустой массив, и файл не создается:

<?php

try {
    exec("tesseract.exe test.tif test", $msg);
    var_export($msg);
} catch (Exception $e) {
    echo $e;
}

?>

Любая подсказка?

заранее спасибо !


person user1079988    schedule 16.09.2012    source источник


Ответы (2)


Почему бы не попробовать указать полный путь к tesseract?

Не уверен, как это сделать в Windows, но на терминале Mac я набираю which tesseract, и он найдет полный путь к tesseract. Затем вы можете ввести этот полный путь, в моем случае /usr/local/bin/tesseract, в команду exec.

try {
    $msg = array();
    exec("/usr/local/bin/tesseract test.tif test", $msg);
    var_export($msg);
} catch (Exception $e) {
    echo $e;
}
person Gravy    schedule 31.03.2014

person    schedule
comment
В результате у меня все тот же пустой массив :( - person user1079988; 17.09.2012
comment
Итак, я снова проверил... после копирования файлов tesseract в папку php-скрипта. Он работал хорошо. Я пытался использовать putenv(). Тессеракт объявлен в переменной окружения path... - person user1079988; 28.09.2012
comment
Хорошо, это из-за разрешений, возможно. Попробуйте этот exec(tesseract.exe test.tif test 2›&1, $msg); - person iiro; 28.09.2012