Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: php .exe

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    206

    php .exe

    ciao

    è possbile lanciare un eseguibile tramite l apertura di una pagina in PHP

  2. #2
    Lo puoi fare con il comando exec

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    206
    non mi funziona


    praticamente ho inserito l eseguile sotto httpdocs,dove ho tutti i file tra cui index.php che è la pagina che dovrebbe lanciare l eseguibile..

    index.php

    exec("prova.exe");


    help

  4. #4
    Non so cosa fa il tuo eseguibile ma se leggi attentamente il manuale c'è scritto:

    "exec() esegue il comando passato da command, la funzione non invia nessun output".

  5. #5
    la questione è che l'esecuzione degli eseguibili deve essere attivata nel server, non ricordo se sul httpd.conf di apache o nel php.ini del php.

  6. #6
    prova così


    Codice PHP:

    $descriptorspec 
    = array(
            
    => array("pipe""r" ),  // stdin 
            
    => array("pipe""w" ),  // stdout 
            
    => array("pipe""w" // stderr 
                
    );    
                
    $cwd getcwd();        
    $process proc_open($command$descriptorspec$pipes,$cwd);
                
    if (
    is_resource($process))
    {
         
    $stream=stream_get_contents($pipes[2]);
         
    fclose($pipes[0]);
         
    fclose($pipes[1]);
         
    fclose($pipes[2]);
         
    $return_value proc_close($process);

    dove $command è il tuo eseguibile
    ----
    in $return_value dovresti avere l'esito dell'operazione
    in $stream la stringa di output del comando

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    206
    ho provato a fare come hai detto ma non esce nulla..

    non è che va settato qlcosa nel server o in php ??


    $descriptorspec = array(
    0 => array("pipe", "r" ), // stdin
    1 => array("pipe", "w" ), // stdout
    2 => array("pipe", "w" ) // stderr
    );

    $command = "prova.exe";
    $cwd = getcwd();
    $process = proc_open($command, $descriptorspec, $pipes,$cwd);

    if (is_resource($process))
    {
    $stream=stream_get_contents($pipes[2]);
    fclose($pipes[0]);
    fclose($pipes[1]);
    fclose($pipes[2]);
    $return_value = proc_close($process);
    }

  8. #8
    innanzitutto l'eseguibile funziona da solo? isolato come dici te nella cartella httpdocs?

    seconda cosa
    il comando deve avere path assoluto, almeno io lo uso così

    controlla che faccia qualcosa, io l'ho testato, mi funziona.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    206
    ho provato a fare come hai detto ma non esce nulla..

    non è che va settato qlcosa nel server o in php ??


    $descriptorspec = array(
    0 => array("pipe", "r" ), // stdin
    1 => array("pipe", "w" ), // stdout
    2 => array("pipe", "w" ) // stderr
    );

    $command = "prova.exe";
    $cwd = getcwd();
    $process = proc_open($command, $descriptorspec, $pipes,$cwd);

    if (is_resource($process))
    {
    $stream=stream_get_contents($pipes[2]);
    fclose($pipes[0]);
    fclose($pipes[1]);
    fclose($pipes[2]);
    $return_value = proc_close($process);
    }

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    206
    ops cannato l ultimo messaggio..

    cmq ora provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.