Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29

php EXEC

11.02.2014, 20:33. Показов 5321. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет ребят, небольшая проблемка запускаю через exec программу

index.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
  <head>
<meta http-equiv=Content-Type content="text/html;charset=windows-1251">
<title>Панель управления </title>
  </head>
  <body>
<table width="300px" border="1">
<tr>
<td width="150px" valign="top">
<a href="./start.php">Включить</a>
</td>
</tr>
</table>
</body>
</html>
start.php
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<meta http-equiv=Content-Type content="text/html;charset=windows-1251">
<title>Панель управления сервером [ms.csdown.ru:27015]</title>
<meta http-equiv="refresh" content="0; url=/index.php">
</head>
<body>
<?php
set_time_limit(0);
echo "<h1>Сервер удачно запущен</h1><br><br>";
echo exec("start.cmd"); 
?>
</body>
</html>
и наконец start.cmd
HTML5
1
2
start /realtime hlds27015.exe -console -game cstrike +port 27015 +map de_dust2 +maxplayers 12 -noipx +sv_lan 0 -insecure -nomaster
exit
Программа запускается удачно работает (это игровой сервер кс 1.6 запускаю так) но косяк (повторюсь прога - сервер запускается) но браузер продолжает думать (крутится кружок) и так до бесконечности, хотя в start.php есть meta refresh - как сделать что бы после успешного запуска обратно вернуло на index.php?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2014, 20:33
Ответы с готовыми решениями:

Exec/system php
Здравствуйте, в putty по ssh прописываю команду cd /home/admin/web/test.ru/public_html &amp;&amp; rar a test.rar test.php Все работает,...

PHP exec не работает
Есть программа DocConverter от CoolUtils - конвертирует текстовые форматы в PDF. -Через консоль программа работает -вызов через...

PHP Safe_mode и функция exec
Здравствуйте , помогите разобраться : Есть файл start.php следующего содержания : &lt;?php $start = 'install.bat'; ...

9
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
11.02.2014, 20:38
Лучший ответ Сообщение было отмечено Khvosticov как решение

Решение

http://ru2.php.net/function.exec
Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.
1
 Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29
11.02.2014, 21:13  [ТС]
Цитата Сообщение от ilikesmile Посмотреть сообщение
Прошу прощения, так что мне нужно сделать? помогите пожалуйста
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
11.02.2014, 21:30
Цитата Сообщение от Khvosticov Посмотреть сообщение
Программа запускается удачно работает (это игровой сервер кс 1.6 запускаю так) но косяк (повторюсь прога - сервер запускается) но браузер продолжает думать (крутится кружок) и так до бесконечности, хотя в start.php есть meta refresh - как сделать что бы после успешного запуска обратно вернуло на index.php?
Попробуйте system() вместо exec()
1
 Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29
11.02.2014, 21:44  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Попробуйте system() вместо exec()
Практически тот-же эффект показало надпись "Сервер успешно запущен" а ниже cmd команда... запускается программа но все равно висит с тем что написал в этом сообщении выше (сервер усп.запущ..+cmd команда) а на index не возвращает (
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
11.02.2014, 21:47
Цитата Сообщение от Khvosticov Посмотреть сообщение
Практически тот-же эффект показало надпись "Сервер успешно запущен" а ниже cmd команда... запускается программа но все равно висит с тем что написал в этом сообщении выше (сервер усп.запущ..+cmd команда) а на index не возвращает (
А если вместо "start /realtime" использовать "cmd.exe /K"?.. ))
0
 Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29
11.02.2014, 22:29  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
А если вместо "start /realtime" использовать "cmd.exe /K"?.. ))
в
использую так-же с system(); попробовал с твоим 2м вариантом тот же эффект (сервер успешно запуше+cmd код - он и в правду запускается(в диспейчере проверил) но все равно страница зависшая и сервер уже запускается не в реальном времени)
Да кстате Windows Seven

Добавлено через 32 минуты
up up up
0
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
12.02.2014, 18:35
Цитата Сообщение от Khvosticov Посмотреть сообщение
Прошу прощения, так что мне нужно сделать? помогите пожалуйста
Тогда по пунктам.
Цитата Сообщение от Khvosticov Посмотреть сообщение
<meta http-equiv="refresh" content="0; url=/index.php">
Вообще "побоку", т.к. соединение не закрыто, ибо скрипт обрабатывается.
Цитата Сообщение от pav1uxa Посмотреть сообщение
Попробуйте system() вместо exec()
В данном случае разницы не будет.
Цитата Сообщение от Khvosticov Посмотреть сообщение
как сделать что бы после успешного запуска обратно вернуло на index.php?
Я бы в принципе подход к этой задаче изменил. Но будем исходить из того, что есть.
Вариант 1 (наплевательский). Открываем загружающий скрипт через JS.
Вариант 2 (com-объект):
PHP
1
2
$com = new COM("WScript.Shell");
$com->exec('my.exe'); // должен быть указан абсолютный путь
Должны быть еще дополнительные вариации на тему запуска службы (не было такой необходимости под win, извините), создание дополнительного процесса и учитывая информацию в мануале - перенаправление вывода.
0
 Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29
12.02.2014, 21:33  [ТС]
Цитата Сообщение от ilikesmile Посмотреть сообщение
Тогда по пунктам.

Вообще "побоку", т.к. соединение не закрыто, ибо скрипт обрабатывается.

В данном случае разницы не будет.

Я бы в принципе подход к этой задаче изменил. Но будем исходить из того, что есть.
Вариант 1 (наплевательский). Открываем загружающий скрипт через JS.
Вариант 2 (com-объект):
PHP
1
2
$com = new COM("WScript.Shell");
$com->exec('my.exe'); // должен быть указан абсолютный путь
Должны быть еще дополнительные вариации на тему запуска службы (не было такой необходимости под win, извините), создание дополнительного процесса и учитывая информацию в мануале - перенаправление вывода.
А подробнее про JS можно? или какие нибудь другие варианты с $com не прокатывает или у меня кривые руки)
0
75 / 75 / 17
Регистрация: 29.11.2013
Сообщений: 262
13.02.2014, 07:15
Цитата Сообщение от Khvosticov Посмотреть сообщение
А подробнее про JS можно?
А что непонятно? Обычная асинхронная загрузка с великолепным сочетанием мазохизма и костыля в чистом виде) Слегка модернизируем AJAX-запрос, где ошибкой считается получении 200-го ответа в течении секунд 10. В противном случае, все путем.
Цитата Сообщение от Khvosticov Посмотреть сообщение
или какие нибудь другие варианты с $com не прокатывает или у меня кривые руки)
Код и лог ошибок в студию )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2014, 07:15
Помогаю со студенческими работами здесь

Функция php exec для запуска nodejs
Здравствуйте. Появилась неоходимость запустить node с помощью php. Использую команду exec. Например: var_dump(exec('node...

exec и git
Здравствуйте. Столкнулся с такой проблемой: функция exec не запускает команду git reset. Пример: exec(&quot;git reset&quot;,...

Работа с exec
Здравствуйте форумчане. Есть следующий скрипт: exec(&quot;cd /home/gamedbd/; ./gamedbd gamesys.conf listrolebrief &gt;...

не срабатывает exec()
есть файлик, который запускает через exec('php -f step2.php'); другой файл. Когда запускаю все это дело из консоли все...

Функция exec
всем привет помогите вызвать программу из php функцией exec() или аналогом ее Также хотел спросить как собрать статический exeшник ту у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru