Visualizzazione dei risultati da 1 a 3 su 3

Discussione: proc_open

  1. #1

    proc_open

    Sto provando ad usare per la prima volta la funzione proc_open di php 5.

    Programma chiamante:

    <?php
    $fin=fopen("chiamato0.php", "r");
    $fout=fopen("risultato0", "w");
    $desc= array (0 => $fin, 1 => $fout);
    $res = proc_open("php",$desc, $pipes);
    proc_close($res);
    ?>



    Programma "chiamato0.php":

    <?php
    echo ("Buongiorno!");

    $a=fopen("esempr.txt","w");
    fwrite($a,"prova");
    fclose($a);

    ?>


    Sul file "risultato0" mi trovo la echo di Buongiorno,ma quando il processo termina, non mi viene generato il file "esempr.txt".

    Che problema puo' essere?

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Quel codice funziona, magari è un problema di permessi?

    Prova ad aggiungere anche il file descriptor per lo STDERR, tipo:

    codice:
    $desc= array (
    0 => $fin,
    1 => $fout,
    2 => array("file", "/tmp/error-output.txt", "a")
    );
    giusto per essere sicuro che eventuali errori vengano girati su quel file error-output.txt
    Chiaramente metti l'error_reporting come E_ALL
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Be',ho risolto la questione in altra maniera,ho deciso di cambiare tecnica usando la exec:

    exec("php chiamato0.php ciclo=1",$output,$errs)

    e funziona egregiamente.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.