PHP system()引发命令未找到错误

时间:2013-01-09 22:07:26

标签: php shell command-line tesseract

尝试运行此脚本:

<?php

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

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

   die($out);
?>

显示空白脚本并显示错误日志:sh: tesseract:找不到命令

这个命令在shh上工作正常......

知道为什么吗?

2 个答案:

答案 0 :(得分:8)

您需要在磁盘上提供tesseract命令的完整路径(通常为/usr/bin/tesseract,但这可能因您的特定平台/发行版而异),因为PHP执行命令的上下文没有设置相关的默认路径。

要找出命令所在的位置,只需通过shell使用which tesseract即可。 (只要它在没有使用完整路径的情况下实际可用。)

答案 1 :(得分:4)

当作为WWW / PHP用户运行时,“tesseract”路径可能不在PATH环境中。尝试使用完整路径。