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 :: Версия для печати :: неполучается задать рабочую директорию system(cd /папка)
Форумы портала PHP.SU » » Операционная система и системные вызовы » неполучается задать рабочую директорию system(cd /папка)

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

1. sinsir - 17 Мая, 2011 - 13:44:17 - перейти к сообщению
Всем здравствуйте!
Помогите разобраться с проблемой.
Пытаюсь сделать запуск игрового сервера с помощью PHP.
CODE (htmlphp):
скопировать код в буфер обмена
  1. popen("cd d:/games/cod4 & d:/games/cod4/start.cmd", 'r');


содержимое start.cmd

CODE (htmlphp):
скопировать код в буфер обмена
  1. start "server" /MIN/HIGH d:\games\cod4\iw3mp.exe +set dedicated 1 +set net_port 28961 +set fs_game Mods/_ac_promodlive204 +set sv_punkbuster 1 +exec promod_tr.cfg +map_rotate +set sv_maxclients "10" +ui_maxclients "10" +set g_allowvote "0"


Но игровая консоль неможет найти свою поддиректорию /main (которая находится в папке с игрой d:/games/cod4/main)

В ручном режиме start.cmd отлично работает.

Видимо я неправильно задаю рабочую область. Но я уже перепробовал разные варианты и безрезультатно.

Подскажите где ошибка?
2. DeepVarvar - 17 Мая, 2011 - 14:08:41 - перейти к сообщению
sinsir пишет:
cd d:/games/cod4 & d:/games/cod4/start.cmd

Переход и потом запуск?
Зачем? Можно сразу запуск. У вас ведь все от корня.
CODE (htmlphp):
скопировать код в буфер обмена
  1. d:/games/cod4/start.cmd

Текущий каталог в котором работает пхп-скрипт?
PHP:
скопировать код в буфер обмена
  1. echo realpath(dirname(__FILE__))."/";
3. sinsir - 17 Мая, 2011 - 14:23:17 - перейти к сообщению
Чесно говоря я чайник в этом деле, этот код я скопировал в одной из тем тут на форуме, ну и исправил директории в силу своих умений.

Я пробовал и без указания директории cd - результат одинаковый. Такое ощущение что cd d:/games/cod4 просто игнорируется.

вот директория скрипта
CODE (htmlphp):
скопировать код в буфер обмена
  1. C:\htmlroot\cod6_stats\new/
4. sinsir - 17 Мая, 2011 - 18:55:29 - перейти к сообщению
Получилось у меня запускать сервер в таком виде:

CODE (htmlphp):
скопировать код в буфер обмена
  1. shell_exec('d:/games/cod4/promod.cmd');


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

Может что-то с правами доступа?

 

Powered by ExBB FM 1.0 RC1