PHP 4.0 Bug #6104 Updated: popen returns -1
| From: | jmoore@php.net | Date: | Mon, 20 Nov 2000 14:18:57 +0000 |
| Subject: | PHP 4.0 Bug #6104 Updated: popen returns -1 | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-38607@lists.php.net to get a copy of this message | ||
ID: 6104
Updated by: jmoore
Reported By: Alan@Halachmi.net
Status: Closed
Bug Type: *General Issues
Assigned To:
Comments:
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.
Previous Comments:
---------------------------------------------------------------------------
[2000-08-11 06:23:11] Alan@Halachmi.net
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.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=6104