Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema con exec

  1. #1

    Problema con exec

    Ho il seguente semplicissimo script:

    Codice PHP:
    $nomepc "nb-claudio";
    $mess "Testo";
    $comando "msg * /server:" $nomepc " " $mess
    exec($comando); 
    Di fatto deve mandare un messaggio al computer di nome "nb-claudio".

    Lanciando da CMD il comando
    msg * /server nb-claudio Testo

    funziona perfettamente e nel computer indicato si apre immediatamente un popup con la scritta "Testo".

    Lo script PHP, invece, non produce nulla. Qualcuno sa dirmi perché?

    Grazie. Claudio.


    Nota 1: lavoro con un server Windows e IIS.

    Nota 2: inizialmente il comando produceva un errore “Unable to fork”. Ho poi scoperto che dipendeva dal fatto che non trovava come disponibile il programma CMD.EXE. Per il momento ho risolto copiando il CMD.EXE nella medesima cartella che contiene le pagine dell’applicazione. Se, come penso, non è questo il metodo più corretto vi sarei grato se potesse darmi qualche suggerimento in merito.

  2. #2

  3. #3
    Ma msg cos'è ?
    - un file eseguibile (msg.exe)
    - un command file (msg.cmd)
    - un batch file (msg.bat)
    ? ? ?
    Se è un eseguibile .. passo!
    Se è un command file o un batch file:
    Devi sapere la path completa di CMD.EXE (che di solito è C:\WINDOWS\System32\cmd.exe)
    Devi sapere la path completa di msg, ovviamente completa di estensione
    poi:
    Codice PHP:
    $nomepc "nb-claudio";
    $mess "Testo";
    $pathDiCmd "C:\\WINDOWS\\System32\\cmd.exe"// <-- occhio ai backslash, che vanno raddoppiati!
    $pathDiMsg "C:\\cartelladovesitrova\\msg.cmd"// <-- occhio ai backslash, che vanno raddoppiati!
    $comando $pathDiCmd " /C " $pathDiMsg " * /server:" $nomepc " " $mess;
    exec($comando); 
    (forse) va ...
    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  4. #4
    homezappa, intanto grazie per la tua risposta.
    La tua è un'ottima indicazione ma non ha portato comunque alla soluzione del problema.

    msg è un programma di windows (msg.exe) che serve per inviare un messaggio ad un utente collegato ad un server. Tramite questo comando sul computer indicato si apre una popup con il messaggio inviato e l'indicazione dell'autore del messaggio.

    Si trova in C:\WINDOWS\System32 e sono riuscito a richiamarlo senza la necessità di copiarlo nella cartella delle pagine php grazie alla tua indicazione.

    Tuttavia il messaggio continua a non partire!!!

    Ho provato con

    $comando = $pathDiCmd . " /C " . $pathDiMsg . " * /server:" . $nomepc . " " . $mess;

    ma anche con

    $comando = $pathDiMsg . " * /server:" . $nomepc . " " . $mess;


    Non ottengo alcun messaggio di errore, ma nemmeno il risultato che mi serve.
    Spero di trovare qualcuno che possa aiutarmi.

    Claudio.

  5. #5
    Aggiornamento:

    Ho scoperto che utilizzando il seguente script

    Codice PHP:
        $nomepc "claudio";
        
    $mess "Ciao";
        
    $comando "msg * /server:" $nomepc " " $mess
        
    system($comando); 
    se faccio tasto destro sul file PHP e gli dico di eseguirlo tramite il programma PHP.EXE, funziona regolarmente.
    Se invece lo lancio dal browser IE non succede nulla.
    Qualcuno ha qualche idea? Sono disperato!!!!!!

    Claudio.

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.