Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
 Аватар для Khvosticov
0 / 0 / 0
Регистрация: 16.07.2010
Сообщений: 29

php EXEC

11.02.2014, 20:33. Показов 5300. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru