Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запуск локального приложения.
Форум программистов > Интернет и сети > Web-программирование > PHP программирование
Masters
Здравствуйте!
Есть задача, целью которой является запуска/выполнение локальной программы.
Подробности:
На сайте имеется ссылка, и нужно, чтобы по ее нажатию, запускалась программа на компьютере, например gmplayer.
Нужно это для того, чтобы все желающие смогли запускать бота, eggdrop тогда когда им захочется, и если администратор временно отсутсвует.
Пробовал exec(myscript), в myscript вписал команду cd dir && ./eggdrop , но выдается только версия еггдроп, и ничего больше.
Как можно это осуществить?
_serg_
Цитата
...но выдается только версия еггдроп

наверное, "/путь/к/eggdrop &" ?
а если эту команду ручками в консоли набить бот должен запуститься smile.gif
и как потом давить этих eggdrop ?
или он больше одного раза не запускается?
(мне просто стало интересно)
Masters
в консоле cd dir && ./eggdrop и бот тоже запускается.
Заметил что при выполнении скрипта, процесс появляется а потом исчезает, база вопросов считывается.
убить можно kill -TERM eggdrop , либо из ирки .die
_serg_
обрати внимание как я написал команду запуска
там & после команды запуска бота
знаеш что означает этот знак?
Masters
Что означает знак не знаю, но с ним тоже не работает, запускается процесс, владелец процесса стоит apache, а потом процесс пропадает.
Итак:
есть 22.php внутри которого:

<?php
exec('./otd');
?>


есть выполняемый otd, внутри которого:

cd /var/www/localhost/htdocs/vic3 && ./eggdrop &

Результата нет.
Тоже самое с остальными командами /usr/bin/mplayer , процесс появляется и исчезает.
_serg_
хм.. ты знаеш, я ща только что провел тест:
<? `ping e-port.ru -c 1 > /tmp/test.txt &`?>

у меня-то все норм запускается, но вот результат работы всего появляется только спустя некоторое время - несколько секунд...
а так - смотрю top -U nobody - вижу, что создался отдельный процесс, со своим пидом.... - все по взрослому...
и еще посмотри под кем у тебя запускается этот eggdrop - попробуй в консоли его из-под этого юзера запустить... может, там права нужны на чтение-запись для каких-то файлов?
Masters
Этот тест у меня тоже работает.
Процесс запускается под юзером apache, на время давал все привелегии, результата нет.
Под юзером apache войти не удается:
This account is currently not available.
Masters
Выяснил что от новосозданного пользователя Bot, eggdrop тоже не запускается, просит сосдать новый конфиг файл, осталось придумать как запустить eggdrop от другого пользователя, т.к su Bot просит вручную ввести пароль.
_serg_
а.. ну так он не может прочитать либо какой-то конфиг, либо получить права на запись какого-нить лога?
вот и ответ
надо создать ему условия для запуска из-под нужного юзера (в данном случае это apache)
тут уж я, извини, не могу тебе помоч - т.к. разбираться что такое этот эггдроп нет желания
могу разве что посоветовать почитать его конфиг (что за файлы ему нужны на чтение-запись) и убедиться что у юзера апач есть соответствующие права на эти файлы (и на чтение самого конфига тоже)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.