我是php shell命令的新手,所以请耐心等待。我试图在我的服务器上运行shell_exec()命令。我正在尝试下面的PHP代码:
$output = shell_exec('tesseract picture.tif text_file -l eng');
echo "done";
我将picture.tif放在与php文件相同的目录中。在我的shell中,我可以毫无问题地运行它。
运行代码需要一段时间,然后它不会像我在命令提示符下运行它时那样使text_file。
答案 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