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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Linux Ubuntu + PHP команда system() и команда exec()

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Проблемка.........
DbIm
Отправлено: 07 Мая, 2011 - 14:04:46
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2011  
Откуда: Иваново


Помог: 0 раз(а)




Не работает скрипт..........
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
 
 Top
OrmaJever Модератор
Отправлено: 07 Мая, 2011 - 14:23:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




а из терминала эти комады нормально выполняются?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DbIm
Отправлено: 07 Мая, 2011 - 14:29:49
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2011  
Откуда: Иваново


Помог: 0 раз(а)




Да из терминала все просто отлично....
 
 Top
OrmaJever Модератор
Отправлено: 07 Мая, 2011 - 14:39:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




попробуйте passthru()


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DbIm
Отправлено: 07 Мая, 2011 - 14:46:39
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2011  
Откуда: Иваново


Помог: 0 раз(а)




Counter Strike server started... Server started!
Вот теперь что пишет, но сервер по прежнему не запущен.............
В процессах так же не появляются данные процессы.........
 
 Top
EuGen Администратор
Отправлено: 07 Мая, 2011 - 14:54:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Я предполагаю, что проблема в том, что у веб-сервера по каким-либо причинам не хватает прав на запуск этих команд
Посмотрите, какие нужны права для запуска указанной команды.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DbIm
Отправлено: 07 Мая, 2011 - 15:01:55
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2011  
Откуда: Иваново


Помог: 0 раз(а)




EuGen я NooB в Linux...............
Я Linux пользуюсь 10 день............ так что многого не знаю, но мне кажется нужно запустить "Сайт" под правами root, а то как я понял на авто запуске он запускается не под root, может помочь?

(Отредактировано автором: 07 Мая, 2011 - 15:06:11)

 
 Top
EuGen Администратор
Отправлено: 07 Мая, 2011 - 15:11:53
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Для отладки можете использовать права root
Для этого в конфигурационом файле веб-сервера укажите
User root
Group root
И - напомню - только для отладки. В прочих случаях это делать небезопасно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DeepVarvar Супермодератор
Отправлено: 07 Мая, 2011 - 15:28:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DbIm а из терминала вы от чьего имени выполняете запуск и останов сервера CS??

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

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


Однако группа www-data обладает гораздо бОльшими правами нежели вы как юзер...
Что собственно странно в вашей ситуации все совсем наоборот.
Отсюда предположение что выполняете вы команды в терминале как root
Это так?
 
 Top
DbIm
Отправлено: 07 Мая, 2011 - 15:32:12
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Апр. 2011  
Откуда: Иваново


Помог: 0 раз(а)




Посмотрел лог 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 тоже самое, кажись все дальше проблема в моём скрипте запуска................
(Добавление)
Все все работает)))))))))) Спасибо всем)!!!!! разобрался)

(Отредактировано автором: 07 Мая, 2011 - 15:38:26)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Операционная система и системные вызовы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB