PHP shell_exec () - возникают проблемы при запуске команды - PullRequest
3 голосов
/ 18 февраля 2011

Я новичок в командах оболочки php, поэтому, пожалуйста, потерпите меня.Я пытаюсь запустить команду shell_exec () на моем сервере.Я пытаюсь код php ниже:

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

У меня есть picture.tif в той же директории, что и файл php.В своей оболочке я могу запустить это без проблем.

Запуск кода занимает некоторое время, затем он не создает текстовый файл, как при запуске в командной строке.

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

За ваш комментарий:

Должен ли я вместо этого написать цикл в оболочке?

Вы можете написать очень простой скрипт оболочки для запуска команды в цикле.Сначала создайте файл сценария:

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
1 голос
/ 18 февраля 2011

Может ли это быть проблемой с разрешениями?Я предполагаю, что PHP не работает с теми же разрешениями, что и вы, когда выполняете команду непосредственно из командной строки.На какой ОС вы работаете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...