ID:               6104
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Closed
 Bug Type:         *General Issues
 Operating System: Solaris 8
 PHP Version:      4.0.1pl2
 New Comment:

Note that if you --enable-sigchild this will cause popen and proc_open
(and anything using waitpid or wait4 syscalls) to return -1 as the
status code for the child process.


Previous Comments:
------------------------------------------------------------------------

[2000-11-20 09:18:57] [EMAIL PROTECTED]

Sounds like an incorrect popen call to me (Its returning false not -1)
try this instead:

$mail = popen($default->path_to_sendmail." -i -f$from -- 
$recipients", 'w');                                                    
  

This should fix this. If it doesnt please reopen with a smaller
reproducing script and full system info. Also try the latest CVS to see
if that fixes it.
                

------------------------------------------------------------------------

[2000-08-11 06:23:11] [EMAIL PROTECTED]

This code snippit from horde.lib (www.horde.org):                      
                       
                                                                       
        
 // Finally, send the mail.                                            
        
        if (@is_executable($default->path_to_sendmail)) {              
        
                $mail = popen("$default->path_to_sendmail -i -f$from --
 $recipients", 'w');                                                   
         
                $result  = fputs($mail, $bhdrs . $hdrs);               
        
                echo "1: " . $result;                                  
        
                $result += fputs($mail, "\n");  // trailing \n to end
the       
headers section                                                        
        
                echo "2: " . $result;                                  
        
                $result += fputs($mail, $body);                        
        
                echo "3: " . $result;                                  
        
                if (pclose($mail) != 0)                                
        
                        $result = 0; 
          echo "4: " . $result;                                         
        } else {                                                       
        
                if (empty($envelope['To'])) $envelope['To'] = '';      
        
                if (empty($envelope['Subject'])) $envelope['Subject'] =
'';     
                if (mail($envelope['To'], $envelope['Subject'], $body,
$hdrs .  
 $mhdrs))                                                              
         
                        $result = 1;                                   
        
                else                                                   
        
                        $result = 0;                                   
                                                   
        }                                                              
        
                                                                       
        
Yields the following output:                                           
        
1: 345                                                                 
        
2: 346                                                                 
        
3: 354                                                                 
        
4: 0                                                                   
        
                                                                       
        
The return value of pclose() is not the exit status of the program, but
a value  as returned by waitpid() of wait4().  I've run what the popen
command-line calls by hand using truss, and sendmail is returning
exit(0).  So, I dug a bit further... pclose($mail) is returning -1. 
Any ideas on how I can track down why?  This function is not reported
to be misbehaving on other platforms.

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=6104&edit=1

Reply via email to