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