Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP exec (wamp) ejecucion programa local windows

Estas en el tema de PHP exec (wamp) ejecucion programa local windows en el foro de PHP en Foros del Web. Hola, Estoy intentando hacerme algunas herramientas utilitarias personales en PHP pero no consigo ejecutar (abrir) programas locales de windows. Ej: notepad.exe , calc.exe etc Estoy ...
  #1 (permalink)  
Antiguo 15/12/2016, 08:50
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
PHP exec (wamp) ejecucion programa local windows

Hola,

Estoy intentando hacerme algunas herramientas utilitarias personales en PHP pero no consigo ejecutar (abrir) programas locales de windows.
Ej: notepad.exe , calc.exe etc

Estoy utilizando WAMP 3 x64 en windows 10.

He intentado algo asi:
Código PHP:
Ver original
  1. exec('start "" "C:\\Windows\\notepad.exe" "C:\\mi_fechero_texto.txt"');

Pero no funciona. El script se queda como si ejecutaría algo al infinito pero no abre nada.

He buscado en internet en muchos lados (incluida búsqueda en este foro) pero no he encontrado nada concreto que funcione.

He encontrado en algún lugar alguien que decía que al servicio de apache "wampapache64" en mi caso, hay que darle permiso para que interactuar con el escritorio.
"Allow service to interact with desktop".

He activado dicho permiso pero nada. Sigue sin funcionar

¿Alguien tendra alguna idea como solucionar esto?

Gracias
  #2 (permalink)  
Antiguo 15/12/2016, 14:11
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: PHP exec (wamp) ejecucion programa local windows

dependiendo de la version de windows, como php lo ejecutas como módulo de apache, y apache es un servicio, a lo sumo con toda la permisologia necesaria la aplicación que ejecutes se abrirá en el contexto de los aplicativos de servicio (llamada la sesión cero) y NO la vas a ver, sobretodo si muestra ventanas.

no tiene sentido abrir aplicaciones standalone (escritorio) desde un aplicativo web, para empezar de que no necesariamente el navegador en donde la visualices sea el mismo servidor.
  #3 (permalink)  
Antiguo 15/12/2016, 17:54
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: PHP exec (wamp) ejecucion programa local windows

Gracias por responder @sustentio

Cita:
no tiene sentido abrir aplicaciones standalone (escritorio) desde un aplicativo web, para empezar de que no necesariamente el navegador en donde la visualices sea el mismo servidor.
Pues como ya he dicho estoy haciendo algunas herramientas utilitarias personales en PHP,
así que para mi tiene sentido ... y te aseguro que mucho.

En el ejemplo puse solo notepad para no complicarlo, pero quiero abrir también los scripts php js etc con el notepad++ desde mi pagina (verlo como un panel control personal que no lo voy a poner online ... solo para local me ayuda mucho)

He hecho incluso un buscador mio para las funciones etc

Nunca no trabajo con archivos kilometricos ... cada función php, js, cada clase css, variables globales , constantes etc ... en su en su fichero separado ... luego he hecho automatizaciones para que se van juntando (despues de pasar para minificarlos por html-minifier, UglifyJS, cleancss, yakpro-po (para php) etc)

Entonces para todo esto la estructura de carpetas es un poco engorrosa de ir abriendo por el explorer un montón de carpetas hasta que llegas a cada fichero y por esto quiero hacerlo desde mi "panel control".

[SOLUCIONADO]
Volviendo al tema, lo he solucionado deshabilitando por completo el servicio de apache y abrir apache con el comando httpd.exe (hare un .bat para no tener que escribirlo siempre)

Ahora si, exec() funciona correctamente incluso para abrir programas GUI locales.

Lo dejo aquí por si acaso alguien mas esta buscando lo mismo
  #4 (permalink)  
Antiguo 16/12/2016, 12:01
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: PHP exec (wamp) ejecucion programa local windows

para ello se usa php CLI, ni siquiera necesitas apache, haberlo aclarado antes
  #5 (permalink)  
Antiguo 16/12/2016, 19:15
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: PHP exec (wamp) ejecucion programa local windows

Cita:
para ello se usa php CLI, ni siquiera necesitas apache, haberlo aclarado antes
Yo crei que era bastante claro:

Cita:
.... quiero abrir también los scripts php js etc con el notepad++ desde mi pagina (verlo como un panel control personal que no lo voy a poner online ... solo para local me ayuda mucho) ...
O sea mis "utilitarios" van en una pagina web (local) que necesita apache para poder mostrarla. Dicha pagina ( entre otras cosas ) va a tener botones o links para poder abrir algún fichero directamente con su programa predeterminado windows.
Ej los scripts con Notepad++ ... las diagramas UML con su correspondiente programa etc etc.

Cita:
la aplicación que ejecutes se abrirá en el contexto de los aplicativos de servicio (llamada la sesión cero) y NO la vas a ver, sobretodo si muestra ventanas
De todos modos muchas gracias @sustentio por haber colaborado, porque a raíz de tu explicación que he citado arriba , sobre "la sesión cero", me ha venido la idea de prescindir del servicio de apache y ponerlo en marcha directamente con httpd.exe


Saludos

Etiquetas: ejecucion, exec, local, programa, wamp, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:47.