Вход

Просмотр полной версии : LobbyFree - проблема сервером.



7IAP_Walter
26.09.2003, 06:39
Есть программеры - админы? :)
Совет нужен.
Ситуация такая, есть сервер Win2000, на нем экзешник - win32. Это экзешник я запускаю php скриптом удаленно.
<?....
exec("LobbySrv.exe");
...
?>
Этот экзешник (сервер лобби) , должен сам вызывать php.exe с параметрами для генерации миссии.
Внимание вопрос:
Как сделать так , чтоб экзешник запускал php.exe , когда сам запускаеться php-скриптом? Когда его запускает хозяин сервера - все ок, когда я - отказывается выполнять php.exe.

Pavel Shirshov
26.09.2003, 09:51
Полный путь к указываешь к нму?
Или все так же php.exe?
Укажи c:\php\php.exe или как оно там?

Paul_II
26.09.2003, 10:20
Если на удаленной машине PHP уже поднят, зачем его поднимать еще раз? Возможно, надо просто указать php скрипт, который долженвыполниться без поднятия самого php

изменил немного

7IAP_Walter
26.09.2003, 10:26
Originally posted by Pavel Shirshov
Полный путь к указываешь к нму?
Или все так же php.exe?
Укажи c:\php\php.exe или как оно там?
Путь полный.

7IAP_Walter
26.09.2003, 10:27
Originally posted by Paul_II
Если на удаленной машине PHP уже поднят, зачем его поднимать еще раз? А если он не поднят, то его поднимают через web-сервер (IIS, Apach, etc).

Хотя возможно, вы там его используете нестандартным образом, не как расширение web-сервера.
PHP используется сервером лобби - как средство занесния записей в mysql.

Paul_II
26.09.2003, 10:31
Originally posted by 7IAP_Walter
PHP используется сервером лобби - как средство занесния записей в mysql.

Еще разочек - когда выполняет хозяин сервера, то в этот момент PHP поднят или нет? И как хозяин запускает exeшник - через командную строку или через веб-интерфейс?

=RU=Youss
26.09.2003, 10:31
1. Пускать обычный cmd-файл - а его внутренности правь как хочешь.
2. А win32 задача случайно не как сервис запущена?

7IAP_Walter
26.09.2003, 10:33
Originally posted by Paul_II
Еще разочек - когда выполняет хозяин сервера, то в этот момент PHP поднят или нет? И как хозяин запускает exeшник - через командную строку или через веб-интерфейс?
Поднят или не поднят PHP в этот момент - не важно.
PHP используется просто как скриптер:
php.exe -f script.php параметры

Через командную строку.

7IAP_Walter
26.09.2003, 10:37
Originally posted by =RU=Youss
1. Пускать обычный cmd-файл - а его внутренности правь как хочешь.
2. А win32 задача случайно не как сервис запущена?
1. Дык чем отличается:
winExec("c:\php\php.exe -f script.php");
от winExec("script.cmd");
Смд выполнит? - если его запустит программа запущенная с ВЕБ интерфейса?

2. Как сервис все как-раз пашет. Мне интресно ее с ВЕБа запускать - обновления всякие ставить, не дергая хозяина.

Paul_II
26.09.2003, 10:58
Originally posted by 7IAP_Walter
1. Дык чем отличается:
winExec("c:\php\php.exe -f script.php");
от winExec("script.cmd");
Смд выполнит? - если его запустит программа запущенная с ВЕБ интерфейса?

2. Как сервис все как-раз пашет. Мне интресно ее с ВЕБа запускать - обновления всякие ставить, не дергая хозяина.

Выскажу свою ихму. Когда владелец запускает скрипт, он заупускает его скорее всего рутовыми правами. А когда он пускается через веб, то запуск происходит с правами Web-сервера. Если эти права отличаются, то проблема может быть в этом. Это раз.

Во-вторых, PHP может быть отстроен так, что обслуживаемая директория, то есть откуда могут запускаться скрипты и все прочее, огрничено рутовой директорией данного сервера, на котором запускается скрипт через веб. Обычно эта директория home/htdocs. Это два. Причем это ограничение сильно привязано к системе безопасности и поэтому оно чуть ли не по умолчанию ставиться. Править doc_root, user_dir в php.ini или DocumentRoot для апача. Это два.

И три. В php.ini прописан максимальный размер памяти, который может занимать скрипт и все, что запущего им - обычно это 8 Мб. Если размер занимаемой памяти превышен - до свидания.

Pavel Shirshov
26.09.2003, 14:57
Здесь IIS
И владелец из под которого запускается этот скрипт да и весь сайт в целом
Подсказать где смотреть владельца?
Может нет прав у этого пользователя на запуск скрипта, или банально нет прав на доступ к путям php.exe
Или нет прав на запись в ту директорию в которую генерируется и т.д и т.д.