2013-09-30 18 views
5

Ho provato ad eseguire il file batch utilizzando il comando exec in PHP. Ho appena lo usavano come:Come eseguire il file batch tramite PHP?

$filename = 'test.bat'; 
exec($filename); 

ma non ha ottenuto alcun output. Ho provato questa funzione con un altro comando, funziona bene. I tuoi suggerimenti sarebbero molto apprezzati. Grazie

+1

probabilmente si dovrebbe impostare il percorso sulla $ nomefile. forse non ha trovato il percorso del file. –

risposta

7

Il problema principale era di path e permission. Ho ottenuto il mio file batch da eseguire.

Ecco la mia soluzione:.

  1. eseguo il mio file batch dalla stessa cartella del file php è in

    exec("mybatch.bat");

  2. faccio in modo che Apache servizio ha abbastanza il permesso per eseguire il file batch. Solo per testare ho usato un account amministratore per Apache con cui accedere.

+2

Soluzioni corrette, Sia il file Batch che i file php si trovano nella stessa cartella –

1
system("cmd /c C:[path to file]"); 

come "RichieHindle" ha detto in un argomento simile.

o provare

exec("cmd.exe /c test.bat") ? 
0

Come si è spiegato nel exec doc:

echo exec($filename); 

o

exec($filename, $output); 
echo $output; 
1

Su di Windows Server mente le virgolette. Questo è ciò che funziona per me:

system('cmd.exe /c C:\myfolder\_batches\run_this_batch.bat'); 
1

Quello che ho fatto è stato il seguente:

  1. creato un file PHP che conteneva:

    $gotIt = array(); 
    $file = "getMyIP.bat"; 
    exec($file, $gotIt); 
    echo implode("<br>",$gotIt); 
    
  2. creato una batchfile nella stessa cartella

    @ECHO off 
    ipconfig 
    
  3. Lo ha provato e ha atteso che il firewall facesse il giro dell'azione.

Ho poi ottenuto un output come:

Windows IP Configuration 


PPP adapter 3 USB Modem: 

Connection-specific DNS Suffix . : 
IP Address. . . . . . . . . . . . : ***.***.202.81 
Subnet Mask . . . . . . . . . . . : 255.255.255.255 
Default Gateway . . . . . . . . . : ***.***.202.81 

solo Theres numeri dove i *** 's sono

Problemi correlati