【问题标题】:PHP system() raises command not found errorPHP system() 引发命令未找到错误
【发布时间】:2012-12-24 05:13:56
【问题描述】:

尝试运行此脚本:

<?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 上运行良好...

知道为什么吗?

【问题讨论】:

  • 脚本可能不在 $PATH 中。使用which tesseract 查找完整路径,然后将其用作命令。
  • tesseract - 您的服务器是否位于 Odin 上?
  • 不是它不在 Odin 上

标签: php shell command-line tesseract


【解决方案1】:

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

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

【讨论】:

  • @StephaneKouakou 无需感谢。 (StackOverflow 都是关于帮助的)。希望你的项目进展顺利。 :-)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 2013-10-10
    • 2020-07-24
    相关资源
    最近更新 更多