Foros del Web » Programando para Internet » PHP »

exec se resiste a ejecutar un .bat

Estas en el tema de exec se resiste a ejecutar un .bat en el foro de PHP en Foros del Web. hola a todos, tengo un codigo que genera un .bat y luego trata de ejecutarlo con exec pero no funciona aqui esta el codigo Código ...
  #1 (permalink)  
Antiguo 20/03/2006, 20:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 78
Antigüedad: 18 años, 5 meses
Puntos: 0
exec se resiste a ejecutar un .bat

hola a todos,
tengo un codigo que genera un .bat y luego trata de ejecutarlo con exec pero no funciona
aqui esta el codigo
Código PHP:
<?php
$file 
'firebirdruta.bat';
if (
file_exists($file))
   
unlink($file );
$gestor fopen($file"w");
$texto="cd..\r\ncd..\r\ncd..\r\ncd..\r\ncd firebird\r\ncd bin\r\n";
fwrite($gestor$texto);

$contenido="isql.exe -i createdbFirebird.sql -u sysdba -p masterkey";

$nombre_archivo=$file;
$gestor fopen($nombre_archivo'a');
fwrite($gestor$contenido);
//fclose($gestor);
exec($nombre_archivo,$salida,$valor);
print_r($salida);
echo 
$valor;
?>
el archivo firebirdruta.bat se genera en el htdocs y funciona bien, pues haciendo doble click sobre este crea la base de datos en c:/firebird/bin, pero no se porque no se ejecuta a partir del script php.
la salida es la sgte:

Array ( [0] => [1] => C:\Archivos de programa\Apache Group\Apache2\htdocs>cd.. [2] => [3] => C:\Archivos de programa\Apache Group\Apache2>cd.. [4] => [5] => C:\Archivos de programa\Apache Group>cd.. [6] => [7] => C:\Archivos de programa>cd.. [8] => [9] => C:\>cd firebird [10] => [11] => C:\firebird>cd bin [12] => [13] => C:\firebird\bin>isql.exe -i createdbFirebird.sql -u sysdba -p masterkey ) 1

con otros script funciona bien el exec y $valor es igual a 0, pero aqui es
1, que significa el 1?

el s.o. es xp, php 5.1.1 como modulo de apache

de antemano gracias por la ayuda,

saludos,
  #2 (permalink)  
Antiguo 22/03/2006, 08:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 78
Antigüedad: 18 años, 5 meses
Puntos: 0
hola a todos,

hice varias intentos pero sin resultado, modique una linea del codigo:

$contenido="isql -i createdb.sql -u SYSDBA -p masterkey 2>&1";

le añadi el 2>&1 y el script me muestra el sgte error:

C:\Archivos de programa\Apache Group\Apache2\htdocs>cd.. C:\Archivos de programa\Apache Group\Apache2>cd.. C:\Archivos de programa\Apache Group>cd.. C:\Archivos de programa>cd.. C:\>cd firebird C:\firebird>cd bin C:\firebird\bin>isql -i createdb.sql -u SYSDBA -p masterkey 2>&1 Use CONNECT or CREATE DATABASE to specify a database Statement failed, SQLCODE = -904 unavailable database Use CONNECT or CREATE DATABASE to specify a database Use CONNECT or CREATE DATABASE to specify a database Use CONNECT or CREATE DATABASE to specify a database 1

como explica anteriormente, cuando se ejecuta directamente en una consola el .bat generado funciona bien y crea la bd, pero cuando trato de ejecutarlo llamandolo de script php no funciona, eso seria una pregunta ¿por que funciona bien cuando lo ejecuto con una consola dos pero no cuando lo quiero ejecutar del script php?

gracias por adelantado,

saludos,
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 03:13.