Última respuesta tardía, pero estaba trabajando en esto y descubrí que sí es posible ejecutar un programa GUI desde PHP con el servidor Apache en Windows XP.
- Inicio> Ejecutar, escriba "services.msc" para que aparezca de control de servicios (otras maneras de llegar allí, esto es más fácil OMI)
- localizar su servicio de Apache (el mío se llama "wampapache" usando WampServer 2.0)
- Abrir las propiedades del servicio (doble clic o derecha click-> propiedades)
- tirón a la Log On cuenta y garantizar la casilla de verificación titulado "Permitir servicio para interactuar con el escritorio" se comprobado
- tirón volver a la pestaña General, detener el servicio, st arte el servicio
Ahora, utilizando el siguiente código, puede engendrar procesos de UI desde PHP. En el primer fragmento de código, el script no esperará a que la aplicación se cierre; el segundo fragmento espera a que el programa se cierre antes de continuar (bloqueo).
no espere a que la aplicación:
pclose(popen("start /B notepad.exe", "r"));
Espere aplicación:
system('start notepad.exe');
Esto ha sido probado en Windows XP. No lo he probado en ninguna otra versión de Windows, su millage puede variar.
Nota al margen En mi instalación en particular, yo estaba usando la otra opción en la pestaña Iniciar sesión del servicio - Apache se ejecuta como un usuario de dominio para que pudiera tener acceso a varios recursos compartidos de red con permisos de usuario de dominio. La casilla de verificación no está disponible para esa opción, solo cuando el servicio se ejecuta como Sistema local. Después de una extensa investigación, descubrí que simplemente no hay forma de que un solo servicio pueda interactuar con el escritorio actual Y utilizar las credenciales de un usuario específico. Es una propuesta de uno o el otro, con la solución sugerida es dividir su servicio en dos componentes: uno que utiliza los privilegios de la cuenta de usuario y otro que interactúa con el escritorio. No es muy práctico cuando el servicio que está hablando es el servidor web. Esta nota es probablemente bastante específica para mi caso de uso, pero quería ponerlo aquí en caso de que pueda salvar a alguien la frustración en el futuro.
Veo lo que quiere decir. Estás en el bloc de notas correcto sin una GUI. (Mi configuración se agotó después de 60 segundos). Por lo tanto, no puedo iniciar un programa basado en GUI desde PHP y tengo que recurrir a soluciones basadas en SO. Es bueno saberlo. Gracias ! – sdfor