Как выполнять приложения с графическим интерфейсом на PHP в контролируемой среде
Запуск внешних процессов из PHP-скриптов может оказаться затруднительным в контролируемых средах, где видимый вывод из программ с графическим интерфейсом не допускается. Несмотря на успешные попытки инициировать тихие процессы с помощью system и exec, при выполнении программ с графическим интерфейсом возникают трудности.
Чтобы решить эту проблему, крайне важно включить опцию «Разрешить службе взаимодействовать с рабочим столом» для Apache. услуга. Перейдите к элементу управления службами (например, через «services.msc» в разделе «Выполнить»), найдите службу Apache, откройте ее свойства и отметьте этот параметр на вкладке «Вход в учетную запись».
После настройки этого параметра PHP сценарии могут эффективно создавать процессы графического интерфейса. Чтобы не ждать закрытия приложения, используйте pclose(popen("start /B notepad.exe", "r")). В качестве альтернативы для блокировки выполнения используйте system('start notepad.exe'). Стоит отметить, что этот метод был проверен в Windows XP и может потребовать корректировок для других версий Windows.
Дополнительные рекомендации:
Если служба Apache работает с учетные данные пользователя домена, опция «Разрешить службе взаимодействовать с рабочим столом» может быть недоступна. В таких случаях рекомендуется разделить службу на два компонента: один для привилегий пользователя и один для взаимодействия с рабочим столом. Этот обходной путь, хотя и специфичен для определенных случаев использования, может избавить от значительных разочарований в будущем.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3