Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Linux Ubuntu + PHP команда system() и команда exec()
Форумы портала PHP.SU » » Операционная система и системные вызовы » Linux Ubuntu + PHP команда system() и команда exec()

Страниц (1): [1]
 

1. DbIm - 07 Мая, 2011 - 14:04:46 - перейти к сообщению
Не работает скрипт..........
PHP:
скопировать код в буфер обмена
  1.   <?PHP
  2.     if (isset($_GET['act'])) {
  3.             if ($_GET['act'] == 'start') { exec('cd /home/hlds_wp/ && server.sh'); echo 'Понеслась!'; }
  4.             elseif ($_GET['act'] == 'stop') { exec('killall hlds_run; killall hlds_i686'); echo 'Сервак убит...'; }
  5.             }
  6.     ?>
  7.     <a href="?act=start">Стартануть</a><a href="?act=stop">Убить</a>

Почему не работает не понятно.........
Вот собержание php
Спойлер (Отобразить)

Подскажите в чем проблема........... ещё раз повторюсь система Linux ubuntu 11.04
2. OrmaJever - 07 Мая, 2011 - 14:23:36 - перейти к сообщению
а из терминала эти комады нормально выполняются?
3. DbIm - 07 Мая, 2011 - 14:29:49 - перейти к сообщению
Да из терминала все просто отлично....
4. OrmaJever - 07 Мая, 2011 - 14:39:31 - перейти к сообщению
попробуйте passthru()
5. DbIm - 07 Мая, 2011 - 14:46:39 - перейти к сообщению
Counter Strike server started... Server started!
Вот теперь что пишет, но сервер по прежнему не запущен.............
В процессах так же не появляются данные процессы.........
6. EuGen - 07 Мая, 2011 - 14:54:13 - перейти к сообщению
Я предполагаю, что проблема в том, что у веб-сервера по каким-либо причинам не хватает прав на запуск этих команд
Посмотрите, какие нужны права для запуска указанной команды.
7. DbIm - 07 Мая, 2011 - 15:01:55 - перейти к сообщению
EuGen я NooB в Linux...............
Я Linux пользуюсь 10 день............ так что многого не знаю, но мне кажется нужно запустить "Сайт" под правами root, а то как я понял на авто запуске он запускается не под root, может помочь?
8. EuGen - 07 Мая, 2011 - 15:11:53 - перейти к сообщению
Для отладки можете использовать права root
Для этого в конфигурационом файле веб-сервера укажите
User root
Group root
И - напомню - только для отладки. В прочих случаях это делать небезопасно.
9. DeepVarvar - 07 Мая, 2011 - 15:28:54 - перейти к сообщению
DbIm а из терминала вы от чьего имени выполняете запуск и останов сервера CS??

Если уж на то пошло, то по умолчанию (Apache я полагаю) работает от группы www-data
А скрипты предположим (не знаю как именно оно у вас) так:

DbIm@ubuntu-name:~$ /home/hlds_wp/server.sh


Однако группа www-data обладает гораздо бОльшими правами нежели вы как юзер...
Что собственно странно в вашей ситуации все совсем наоборот.
Отсюда предположение что выполняете вы команды в терминале как root
Это так?
10. DbIm - 07 Мая, 2011 - 15:32:12 - перейти к сообщению
Посмотрел лог apache, удивился O_O
CODE (htmlphp):
скопировать код в буфер обмена
  1. hlds_run: процесс не найден
  2. hlds_i686: процесс не найден
  3. sh: ./server.sh: not found
  4. hlds_run: процесс не найден
  5. hlds_i686: процесс не найден
  6. sh: ./server.sh: not found
  7. hlds_run: процесс не найден
  8. hlds_i686: процесс не найден
  9. sh: ./server.sh: not found
  10. ./server.sh: 1: ./hlds_run: Permission denied

как я понял вообще не находит ни процессы ни server.sh как такое может быть О_О
А вот ещё...............
CODE (htmlphp):
скопировать код в буфер обмена
  1. [Sat May 07 16:25:50 2011] [error] [client 66.249.71.14] File does not exist: /opt/lampp/htdocs/psyhostats_wp
  2. ./server.sh: 1: ./hlds_run: Permission denied
  3. hlds_run: процесс не найден
  4. hlds_i686: процесс не найден
  5. [Sat May 07 16:27:50 2011] [error] [client 66.249.71.14] File does not exist: /opt/lampp/htdocs/psyhostats_wp
  6. [Sat May 07 16:29:43 2011] [error] [client 66.249.71.14] File does not exist: /opt/lampp/htdocs/psyhostats_wp
  7. [Sat May 07 16:32:25 2011] [error] [client 66.249.71.14] File does not exist: /opt/lampp/htdocs/psyhostats_wp
  8. ./server.sh: 1: ./hlds_run: Permission denied

Вот реакция на Stop server
CODE (htmlphp):
скопировать код в буфер обмена
  1. hlds_run(18231): Операция не позволяется
  2. hlds_run: процесс не найден
  3. hlds_run(18231): Операция не позволяется
  4. hlds_run: процесс не найден
  5.  

(Добавление)
DeepVarvar Нет, через обычного пользователя............
(Добавление)
Нашел причину ошибок.................. Так вот установил права на Hlds_run 755 и на hlds_i686 тоже самое, кажись все дальше проблема в моём скрипте запуска................
(Добавление)
Все все работает)))))))))) Спасибо всем)!!!!! разобрался)

 

Powered by ExBB FM 1.0 RC1