Я тестирую TesseractOCR на новом веб-сайте.Использование TesseractOCR в Laravel
Я установил новую версию Laravel (5.2.4), установил Tesseract на моем сервере (Debian Jessie) и установил оболочку PHP для Tesseract; tesseract-ocr-for-php.
Я выполнил все инструкции по установке и установил пакет в приложении.
В моем routes.php
файл я имел:
Route::get('/test', function() {
$tesseract = new TesseractOCR(asset('images/myimage.jpg'));
echo $tesseract->recognize();
});
Где образ myimage.jpg
существует внутри папки под названием images
внутри папки public
.
Когда я перейти к example.com/test
я получаю:
ErrorException в TesseractOCR.php линии 235: file_get_contents (/tmp/75176598.txt): не удалось не удалось открыть поток: Нет такого файла или каталога
В соответствии с readme.md
вы можете решить эту проблему, используя $tesseract->setTempDir('./my-temp-dir');
.
Таким образом, я попытался изменить мой routes.php
файл:
Route::get('/test', function() {
$tesseract = new TesseractOCR(asset('images/myimage.jpg'));
$tesseract->setTempDir('/var/www/tesseract/public/images');
echo $tesseract->recognize();
});
Однако это как раз дает такую же ошибку с другим путем к файлу:
ErrorException в TesseractOCR.php линии 235: file_get_contents (/var/www/tesseract/public/images/1770521095.txt): не удалось открыть поток: нет такого файла или каталога
Как решить эту ошибку?
Убедитесь, что ваши разрешения настроены на групповое чтение/запись. – EvilJordan
@EvilJordan Я установил '/ tmp /' на 777 разрешения для его тестирования - по-прежнему не работает. Нужно ли мне что-то делать? – James
Он пытается вытащить изображение из/var/www/tesseract/public/images, так что это каталог, которому нужны разрешения. Редактировать: ah, я вижу, это была ваша первая попытка, с/tmp directory. Я явно ошибаюсь. Извинения. – EvilJordan