No se ejecuta exec desde el navegador
Publicado por llermo (2 intervenciones) el 01/08/2007 15:29:07
Saludos
Os muestro el fuente para que veais que todo está bien escrito:
<?php
//Ejecuta una aplicacion desde simbolo de comandos (MS DOS)
exec ("C:/WINNT/System32/Calc.exe");
?>
Esto lo que hace es sencillamente abrir la calculadora de windows y ya está.
Vale. Pues resulta que este código funciona perfectamente desde la línea de comandos. Si yo escribo:
php basura.php
Se abre la calculadora, perfectamente. Sin embargo si escribo:
http://localhost/basura.php
No se arranca ni de coña.
He probado otras formas: exec, system, fopen, ... todas con el mismo resultado. La que más se ha acercado al resultado es una que consiste en utilizar:
$WshShell = new COM("WScript.Shell");
$WshShell->Run("C:/PRUEBAS/calc.exe", 1, false);
Pero nada. La diferencia entre estas ejecuciones es que con esta ultima la consola se libera de la ejecución, mientras que con exec hasta que no se cierra la calculadora, no vuelves a tener acceso a la consola.
He leido que podía ser problema de seguridad de PHP (SafeMode, disable_functions) pero que ni por esas...
¿Alguien sabe como puedo hacerlo?
Muchas gracias
Os muestro el fuente para que veais que todo está bien escrito:
<?php
//Ejecuta una aplicacion desde simbolo de comandos (MS DOS)
exec ("C:/WINNT/System32/Calc.exe");
?>
Esto lo que hace es sencillamente abrir la calculadora de windows y ya está.
Vale. Pues resulta que este código funciona perfectamente desde la línea de comandos. Si yo escribo:
php basura.php
Se abre la calculadora, perfectamente. Sin embargo si escribo:
http://localhost/basura.php
No se arranca ni de coña.
He probado otras formas: exec, system, fopen, ... todas con el mismo resultado. La que más se ha acercado al resultado es una que consiste en utilizar:
$WshShell = new COM("WScript.Shell");
$WshShell->Run("C:/PRUEBAS/calc.exe", 1, false);
Pero nada. La diferencia entre estas ejecuciones es que con esta ultima la consola se libera de la ejecución, mientras que con exec hasta que no se cierra la calculadora, no vuelves a tener acceso a la consola.
He leido que podía ser problema de seguridad de PHP (SafeMode, disable_functions) pero que ni por esas...
¿Alguien sabe como puedo hacerlo?
Muchas gracias
Valora esta pregunta


0