2013-01-09 53 views
2

試圖運行此腳本:PHP系統()拋出命令未找到錯誤

<?php 

    $src = "./tmp/image1.jpg"; 
    $dest = "./tmp/image1"; 
    $out = ""; 

    // ob_start(); 
    $out = system("tesseract $src $dest"); 
    // ob_end_clean(); 

    die($out); 
?> 

它顯示了一個空白腳本和錯誤日誌顯示:SH:的Tesseract:找不到命令

這個命令工作正常噓雖然...

任何想法爲什麼?

+2

該腳本可能不在$ PATH中。用'which tesseract'查找完整路徑,然後用它作爲命令。 –

+0

** tesseract ** - 您的服務器是否位於Odin? –

+0

不是它不位於奧丁 – Steve

回答

8

您需要提供磁盤上tesseract命令的完整路徑(通常爲/usr/bin/tesseract,但根據您的特定平臺/分佈情況,這可能會有所不同),因爲PHP執行該命令的上下文不會有設置相關的默認路徑。

要找出命令所在的位置,只需通過shell使用which tesseract。 (只要它實際上沒有使用完整路徑就可用)。

+0

+1 thx您的評論! – Steve

+0

@StephaneKouakou無需感謝。 (StackOverflow是關於幫助)。希望你的項目進展順利。 :-) –

4

當作爲WWW/PHP用戶運行時,「tesseract」路徑可能不在PATH env中。嘗試使用完整路徑。

+0

+1 thx您的評論! – Steve