PHP shell_exec() - 运行命令时出现问题

时间:2011-02-18 00:00:15

标签: php exec

我是php shell命令的新手,所以请耐心等待。我试图在我的服务器上运行shell_exec()命令。我正在尝试下面的PHP代码:

$output = shell_exec('tesseract picture.tif text_file -l eng');
echo "done";

我将picture.tif放在与php文件相同的目录中。在我的shell中,我可以毫无问题地运行它。

运行代码需要一段时间,然后它不会像我在命令提示符下运行它时那样使text_file。

2 个答案:

答案 0 :(得分:1)

这可能是权限问题吗?我的猜测是,PHP没有使用与直接从命令提示符执行命令时执行的相同权限运行。你在运行什么操作系统?

答案 1 :(得分:1)

根据你的评论:

  

我应该在shell中编写一个循环   代替?

您可以编写一个非常简单的shell脚本来循环运行该命令。首先创建脚本文件:

touch myscript.sh

使脚本可执行:

chmod 700 myscript.sh

然后使用文本编辑器(例如vim)将其打开并添加:

for ((  i = 0 ;  i <= 5;  i++  ))
do
  tesseract picture.tif text_file -l eng
done

这是它的基础知识(不确定你还需要什么),但这种语法应该有助于你开始。要运行脚本,如果您与脚本位于同一目录中,请执行此操作:

./myscript.sh

或指定从任何地方运行它的完整路径:

/path/to/mydir/myscript.sh