Реклама на сайте Advertise with us

Freebsd, PHP, system(), username = apache

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 09:29       Ответить с цитатойцитата 

Хех, вот таким вот кодом делаю php - многопоточным :)

Код:
system("/usr/local/bin/php ".$AbsPath."thread.php  > ".$AbsPath."logs/log".$i.".html &");


Суть переменных - не важна, по смыслу - ясно..
При этом все потоки запускаются от имени Апача, что создает некие трудности под панелью DirectAdmin (не суть важно какие), реально ли сделать так, чтоб потоки запускались от имени какого-то конкретного юзверя?

P.S. Единственное, что на уме - su, но фик знает как его сюда вставить (:
P.P.S. Все на дедике - могу править любые конф. файлы.
P.P.P.S. Всем по делу - рейтинг по макс. (Не большой, правда, у меня макс. :)
P.P.P.P.S. Разговор поддержу ближе к вечеру. :)

Всем хорошего дня!

0
 



С нами с 14.11.05
Сообщения: 56
Рейтинг: 177

Ссылка на сообщениеДобавлено: 16/01/07 в 10:19       Ответить с цитатойцитата 

Используй sudo (man sudo, man sudoers).

3
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 16/01/07 в 12:33       Ответить с цитатойцитата 

Кхм, господа, добавлять apache в sudoers это тоже самоее что отдать рутовый пароль каждому посетителю - безопасности 0!
Если нужно запускать скрипт от имяни пользователя - пересобери apache с suexec. Там есть некоторые траблы именно с пхп но все решаемо - литературы много в сети.

4
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 16/01/07 в 14:06       Ответить с цитатойцитата 

Автор чтобы сделать скрипт многопоточным покури pcntl в мануле php.

+1 Petroff все верно сказал.

4
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 15:33       Ответить с цитатойцитата 

lalex, щас гляну что это за sudo.. Но видимо вариант не самый хороший.

Apache собран с suexec... хм... Щас одну вещь попробую.. Как-то не подумал об энтом...

pcntl - не катит, DA падает :))))
да и переписывать скрипты оч. уж не хочется..
И так все работает, дело лишь в том, что панель убивает процессы от апача в 00:00 и еще в некоторые времена, что не удобно...

Можно конечно через nohup покрутить, но хотелось бы элегантнее найти вариянт...

Всем досрочно спасибо! +3..

Скоро вернусь (:

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 15:33       Ответить с цитатойцитата 

О-о-о-о. Я +4 могу ставить! ;)))))
Всем +4. (; Первому +3 ;)))

0
 

no sign

С нами с 25.07.03
Сообщения: 3623
Рейтинг: 1403

Ссылка на сообщениеДобавлено: 16/01/07 в 15:41       Ответить с цитатойцитата 

Код:
$cmd = 'thread.sh ' . $start . ' ' . $cnt . ' ' . $i;
`echo "$cmd" | at now`;
print 'started ' . $cmd . "\n";


можете так попробовать еще icon_smile.gif

skype:megaarachno

4
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 15:43       Ответить с цитатойцитата 

arachnO писал:
Код:
$cmd = 'thread.sh ' . $start . ' ' . $cnt . ' ' . $i;
`echo "$cmd" | at now`;
print 'started ' . $cmd . "\n";


можете так попробовать еще :)


Тоже вариант. Сейчас suexec покручу и над этим подумаю.. А в шелл-скрипте идет запуск php... Дя, должен не от апача запустится...

0
 



С нами с 03.07.05
Сообщения: 474
Рейтинг: 231

Ссылка на сообщениеДобавлено: 16/01/07 в 16:36       Ответить с цитатойцитата 

Как уже говорили - для многопоточности лучше использовать библиотеку pcntl.

Кстати, а в чем именно проблемы apache и direct admin'a? Уже более 2х лет использую - никаких траблов не замечено. Или попробуй тогда nginx + php, если все так плохо.

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 16:47       Ответить с цитатойцитата 

Все отлично, просто хочется сделать чутку удобнее.. Все работает и без pcntl. Просто надо от другого имени пустить.

У Apache и DA нет проблем. Есть проблемы у PHP собранного с --with-pcntl и DA...

0
 

no sign

С нами с 25.07.03
Сообщения: 3623
Рейтинг: 1403

Ссылка на сообщениеДобавлено: 16/01/07 в 16:48       Ответить с цитатойцитата 

netzoner писал:
Как уже говорили - для многопоточности лучше использовать библиотеку pcntl.


только если под Линуксом
под фряхой юзать не советую

skype:megaarachno

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 16/01/07 в 16:54       Ответить с цитатойцитата 

Dantist писал:
У Apache и DA нет проблем. Есть проблемы у PHP собранного с --with-pcntl и DA...


хм... под FC5+DA таких проблем не замечал, связка работает стабильно...
правда рнр до 5 версии обновить пришлось, для мульти курла

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 16/01/07 в 17:02       Ответить с цитатойцитата 

arachnO писал:
только если под Линуксом
под фряхой юзать не советую


в обоих случаях работает нормально.

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 16/01/07 в 17:39       Ответить с цитатойцитата 

И все же вернемся к теме... :)
suexec не помог.. Может я его не "умею готовить". Petroff, разверни свой ответ в этом плане, плиз.. Спасибо.

Попробую из шелл-скрипта пустить.

По поводу pcntl, curl_multi_*** - это все так, на будущее. :) pcntl - это вообще все с нуля почти, а мульти-курл - это такая-себе многопоточность... Хотя именно такая и нужна, но все-равно - "Переписывать скрипты очень не хочется"... )

Похоже, что остается шелл-скрипт и nohup... nohup - это жестоко... Если панель убивает все с username apache за исключением httpd - "значит - это кому-нибудь нужно?"... (; (С) "Маяковский".
Понятно, конечно, что нужно... Так-что nohup - жестоко... Блин. :(

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 16/01/07 в 17:46       Ответить с цитатойцитата 

Сделай все нормально, а не через ж.... и проблем у тебя не будет.

1) Пригласи админа чтобы он тебе все нормально поставил, стукни к Petroff например, грамотный админ , думаю не откажет тебе в помощи.
2) Напиши нормально скрипт , за то время пока ты тут пишешь их уже пять можно было написать. icon_smile.gif

Удачи!

0
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 16/01/07 в 18:21       Ответить с цитатойцитата 

Dantist писал:
И все же вернемся к теме... icon_smile.gif
suexec не помог.. Может я его не "умею готовить". Petroff, разверни свой ответ в этом плане, плиз.. Спасибо.


Читани тут, нашел в гуглях, читанул вроде правильно все рассказано:
http://www.oszone.net/2825/
(ну естественно пути все свои указыывай типа
--suexec-docroot=/usr/local/apache/htdocs \
--suexec-userdir=/usr/local/apache/htdocs \
)

0
 



С нами с 29.12.06
Сообщения: 62
Рейтинг: 84

Ссылка на сообщениеДобавлено: 16/01/07 в 18:30       Ответить с цитатойцитата 

Dantist писал:
Тоже вариант. Сейчас suexec покручу и над этим подумаю.. А в шелл-скрипте идет запуск php... Дя, должен не от апача запустится...

Хмм, так все равно от апача запустится, потому что шел скрипт запускается в пхп от апача, тоесть как не крути а UID неменяется, сколько раз скрипт не запускай ).
Если развивать тему, то можно уж в пхп писать в базу, мол это надо выполнить, а там уж по крону юзера выполнять..
Но так извращяться это уже перебор ))))

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »