línea de comando php en windows
Frecuentes
Visto 1,057 veces
0
Estoy usando php
on WAMP
. Estoy tratando de ejecutar un programa externo prog.exe en el directorio abc que toma un parámetro numérico. el siguiente comando en la línea de comandos de DOS funciona bien
c:\abc\prog.exe 1234
pero cuando lo hago en script php no se ejecuta.
$val="1234";
$comm = passthru("C:\abc\prog.exe ".$val)
pero
$comm = passthru("dir");
echo $comm;
funciona bien.
Estoy ejecutando Windows 7.
pd yo también he probado system()
y shell_exec()
1 Respuestas
3
\
necesita ser escapado como \\
, o de lo contrario debe usar comillas simples.
YA SEA:
passthru("C:\\abc\\prog.exe ".$val);
O:
passthru('C:\abc\prog.exe '.$val);
Respondido el 12 de junio de 12 a las 20:06
@bsdnoobz Um... ¿No lo creo? - Niet el oscuro Absol
Or passthru("C:/abc/prog.exe $val");
- Eugen Riek
@Kolink Vaya, tienes razón. No me di cuenta de la comilla simple. - fluir libremente
@Kolink Ambos no funcionan. ¿Puede ser un problema de permiso o algo así? ¿Cuál debería ser el equivalente de chmod en Windows? ¿Tiene que dar derechos de ejecución abc.exe? - Anuncio
Considere ejecutar su script a través de la CLI de PHP. De esa manera, deberías poder ver todo lo que está haciendo, así como matarlo si tarda demasiado. - Niet el oscuro Absol
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php command-line wamp or haz tu propia pregunta.
¿A qué te refieres con 'no funciona'? ¿Como en prog.exe no está recibiendo los argumentos? - Ryan
la página parece estar cargando pero no pasa nada hasta que se agota el tiempo de espera.. - Ank
prog.exe está obteniendo el argumento... hago eco (lo que sea que esté pasando a través del sistema) y luego lo ejecuto en la línea de comando, está bien... - Ank
¿Qué hace tu programa? Si un programa se inicia con esta función, para que continúe ejecutándose en segundo plano, la salida del programa debe redirigirse a un archivo u otro flujo de salida. Si no lo hace, PHP se bloqueará hasta que finalice la ejecución del programa. aquí - sachleen
La respuesta de @Kolink debería resolverlo :) - Ryan