CutyCapt Linux shell_exec

Я пытаюсь настроить CutyCapt на своем сервере Ubuntu 10.4.

Я создаю эскиз, используя следующую команду в SSH:

xvfb-run --server-args="-screen 1, 1280x1200x24" ./CutyCapt --url=http://www.google.dk 
--out=/var/www/user/data/www/domain.com/test.png --min-width=1280 --min-height=1200

... и он отлично работает!

Хотя, когда я запускаю ту же самую команду из файла PHP с помощью shell_exec, я получаю сообщение об ошибке:

/usr/bin/xvfb-run: 181: ./CutyCapt: не найден

Кто-нибудь знает, что случилось?

заранее спасибо


person Kristian    schedule 17.08.2010    source источник


Ответы (4)


В каком каталоге находится CutyCapt? Это тот же каталог, из которого вы запускаете xvfb-run?

Подсказка: используйте абсолютный путь или что-то относительно $HOME или что-то в этом роде. Если вы поместите команду выше в скрипт, вы можете получить путь относительно вашего скрипта с помощью:

DIR=$(cd $(dirname "$0") > /dev/null 2>&1 ; pwd)
person Aaron Digulla    schedule 17.08.2010
comment
CutyCapt находится на компакт-диске cutycapt/CutyCapt. - person Kristian; 17.08.2010
comment
cutycapt не ., поэтому скрипт не работает. - person Aaron Digulla; 17.08.2010

попробуйте со следующим кодом:

xvfb-run --server-args="-screen 1, 1280x1200x24" /root/cutycapt/CutyCapt/CutyCapt --url=http://www.google.dk --out=/var/www/user/data/www/domain.com/test.png --min-width=1280 --min-height=1200

с путем от корня должно работать.

person user427709    schedule 22.08.2010

Просто создайте символическую ссылку для исполняемого файла CutyCapt на свой путь.

ln -s ‹ путь к cutycapt › /usr/bin/CutyCapt

e.g.

ln -s /home/user_name/cutycapt/CutyCapt/CutyCapt /usr/bin/CutyCapt

Теперь не используйте ./CutyCapt, вместо этого используйте CutyCapt..

person Pravin    schedule 26.08.2010

Не используйте корневой каталог, поместите cutycapt в домашнюю папку или другое место, к которому у apache есть доступ.

person zourite    schedule 22.12.2011