Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532

Команда PHP exec не запускает приложение или скрипт в Windows

23.07.2025, 04:37. Показов 909. Ответов 3

Студворк — интернет-сервис помощи студентам
Может кому понадобится.
Была проблема с запуском батников и exe-шников под Win через PHP exec.
Я хорошо обязан этому форуму за помощь, знания и т.д. Пора свои 5 копеек внести, пока не забыл ;-)

Проблема
Не запускается bat/exe через PHP команду exec.

Причина
1. Процесс httpd.exe (Apache) запущен как служба (service), а не как приложение с GUI (через видимое окно cmd).
2. Из-за этого у Apache нет доступа к рабочему столу.
3. Если код написан правильно, то в диспетчере задач процесс, запускаемый через exec будет присутствовать и даже возможно будет функционировать, но вот GUI у него не будет, т.е. он работать будет только в фоне.

Решение
Запустить httpd.exe (или Apache.exe) как обычную программу двойным кликом мыши или через start в cmd.

Дополнительно
В моём случае совет с allow_url_include = On не помог. Только запуск httpd.exe в нормальном режиме.

Повторюсь, возможно кому-то понадобится.
Я себе так сделал удалённое управление на PHP через WEB кнопками на страничке браузера: запустить что-то, стопнуть, рестартнуть.
Также сделал вкл/откл RDP там же в вебе, вышел из RDP, выключил его кнопкой. Доп меры защиты как-никак :-)
Очень удобно.
Всем спасибо за внимание :-)
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2025, 04:37
Ответы с готовыми решениями:

Не запускается python скрипт через exec в php
Нужна помощь. Пытаюсь запустить скрипт python через кнопку на сайте(скрипт меняет текст в docx...

Как можно убить скрипт, запущенный через exec()?
Процессы висят почему-то в памяти. Как можно убить скрипт, запущенный через exec(). Желательно в...

И снова о php exec() - выполняются не все команды
Проблема такая - работают обычные команды вроде ls или groups но например exec("/usr/bin/aplay...

3
 Аватар для Noname2331
57 / 51 / 10
Регистрация: 22.12.2024
Сообщений: 286
23.07.2025, 23:24
Добавлю, что в 2025 веб устарел. Сейчас "это" (кнопками на устройстве перед глазами сделать что-то удаленно на другом устройстве) удобнее и реализовывать и использовать в формате чат-бота.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
23.07.2025, 23:34  [ТС]
Noname2331, возможно это проще. Но это прокладка в виде мессенджера. Думаю, мы все понимаем, что это для безопасности. В другой теме мне также про безопасность запуска апача в виде приложения говорили. Но его можно поднять второй копией на другом порту и использовать только для себя, что вроде как безопасность не ухудшает. Ну уж про блок мессенджера можно отдельно сказать. А веб-сервер - это у тебя, без прокладки
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,873
24.07.2025, 08:29
Цитата Сообщение от Vasek2 Посмотреть сообщение
через видимое окно cmd
cmd.exe не имеет к этому ни малейшего отношения;
любое приложение, собранное как консольное ( php.exe например ), сопровождается появлением чорного окна при запуске.

да и httpd.exe тоже можно не трогать, у php.exe есть свой встроенный web-server для целей отладки,
вызывается с ключом -S:
PowerShell
1
php.exe -S 127.0.0.1:8080 -t C:\scripts
где c:\scripts - директория, где php будет искать свои скрипты
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2025, 08:29
Помогаю со студенческими работами здесь

Не отображать консоль при выполнении команды через exec
Здравствуйте, я кроном запускаю через exec консольную команду вот как она выглядит: $result =...

Команда exec() не видит куки
Здравствуйте, уважаемые форумчане! Запускаю из Node.js скрипт написанный на PHP следующим образом:...

Получить лог exec(), после выполнения команды на удаленном ПК
Здравствуйте. Имеется команда, которая запускается на удаленном ПК, после отработки она выводит...

Права для команды exec()
Привет. Хочу выполнить команду $command = 'gammu sendsms TEXT +7*** -text "Test message"';...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru