2

このスクリプトを実行しようとしています:

<?php

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

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

   die($out);
?>

空のスクリプトとエラー ログが表示されます: sh: tesseract: command not found

このコマンドは shh でも正常に動作します...

理由はありますか?

4

2 に答える 2

8

PHP がコマンドを実行するコンテキストには、関連するデフォルト パスが設定されていないため、ディスク上の tesseract コマンドへのフル パスを指定する必要があります (通常/usr/bin/tesseract、これは特定のプラットフォーム/ディストリビューションによって異なる場合があります)。上。

コマンドが存在する場所を見つけるにはwhich tesseract、シェル経由で使用します。(フルパスを使用せずに実際に利用できる限り。)

于 2013-01-09T22:09:35.593 に答える
4

「tesseract」パスは、WWW/PHP ユーザーとして実行した場合、おそらく PATH env にありません。それへのフルパスを使用してみてください。

于 2013-01-09T22:08:59.397 に答える