我在新网站上使用TesseractOCR进行试用。在Laravel中使用TesseractOCR
我已经安装了新版本的Laravel(5.2.4),在我的服务器(Debian Jessie)上安装了Tesseract并安装了Tesseract的PHP封装器; 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中提取图像,所以这是需要权限的目录。 编辑:啊,我看到这是你的第一次尝试,用/ tmp目录。我显然是错的。道歉。 – EvilJordan