I'm having the same problem - I've been using the mail() command for quite some time now and it's been working 100% and executing immediately.
Suddenly, this morning, it is taking about 60 seconds to send mail, delaying the display of the php web page by that same amount of time. I have checked the mail server and sending mail from the command prompt (linux) and there is no delay there. Does anybody have any clue? I even momentarily downgraded to 4.1.0 to make sure it wasnt a bug in 4.1.2 "Paul" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Can nobody help? This is so frustrating. I cannot see what's wrong, open > to ANY suggestions! > > Thanks. > > Paul > "Paul" <[EMAIL PROTECTED]> wrote in message > [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > > Hello, > > > > I wonder if anyone can help me with a problem I have. I have some sites > > hosted on a Cobalt Raq4 server (not sure if this is relevant). I recently > > upgraded PHP from a package at www.pkgmaster.com, and since making this > > upgrade I have problems with PHP that I cannot find the solution to. > > > > I have conacted their 'team' who have thus far offered no explanation, > > saying it must be something else causing these issues with PHP, but I > > haven't made any more changes, just installed the new PHP version. > > > > The problems are with the mail() function taking an AGE to excecute, and > > environmental HTTP header information not being sent/recieved by getenv(). > > > > Some examples follow.. > > > > For example, as an extremely basic example of the mail function going > slow, > > this simple script: > > <? > > mail("[EMAIL PROTECTED]", "Test subject", "Test message"); > > print "finished!"; > > ?> > > > > Which can be found at http://www.clicktolearn.co.uk/test/mail.php in > action, > > ran (as it should do) extremely fast the week before I made the upgrade > from > > the packages. Now, as you will see, it runs dog slow. > > > > Secondly, the following script shows the lack of headers: > > http://www.clicktolearn.co.uk/test/ (click the link, so there's a referer > > to the script page)... > > > > <? > > function get_http_headers($url, $proto="HTTP/1.0", $timeout=10) { > > $return = false; > > if (substr($url,0,7)=="http://") { > > $url = substr($url,7); > > } > > > > $parts = parse_url("http://".$url); > > > > $ips = gethostbynamel($parts["host"]); > > > > if ($ips[0]) { > > $ip = $ips[0]; > > $host = $parts["host"]; > > $path = ($parts["path"]) ? $parts["path"] : "/"; > > $port = ($parts["port"]) ? $parts["port"] : 80; > > > > $start = time(); > > $timeout = $timeout + $start; > > > > if($sock = fsockopen($host, $port)) { > > set_socket_blocking($sock, 0); > > switch($proto) { > > case "HTTP/1.1": > > set_socket_blocking($sock, 1); > > fputs($sock, sprintf("HEAD %s > %s\n", > > $path, $proto)); > > fputs($sock, sprintf("Host: > %s\n\n", > > $host)); > > break; > > default: > > fputs($sock, sprintf("HEAD %s > > %s\n\n", $path, $proto)); > > } > > > > while(!feof($sock) && $t<$timeout) { > > $line .= fgets($sock,1); > > $t = time(); > > } > > fclose($sock); > > $end = time(); > > > > if ($t>=$timeout) { > > $http = parse_output($line); > > $http["result"] = 502; > > $http["message"] = "Timed Out"; > > $http["time_used"] = $end - $start; > > $return = $http; > > } elseif($line) { > > $http = parse_output($line); > > $http["time_used"] = $end - $start; > > $return = $http; > > } > > } > > } > > return $return; > > } > > > > function parse_output($line) { > > $lines = explode("\n", $line); > > if(substr($lines[0],0,4)=="HTTP") { > > list($http["protocol"], $http["result"], $http["message"]) = > > split("[[:space:]]+",$lines[0],3); > > } else if(substr($lines[0],0,7)=="Server:") { > > $http["server"] = substr($lines[0],8); > > } > > for ($i=1; $i<count($lines); $i++) { > > list($key, $val) = split(":[[:space:]]*", $lines[$i],2); > > $key = strtolower(trim($key)); > > if ($key) { > > $http[$key] = trim($val); > > } else { > > break; > > } > > } > > return($http); > > }; > > var_dump(getallheaders()); > > print "<br><br>"; > > > var_dump(get_http_headers('http://www.clicktolearn.co.uk/test/testheaders.ph > > p')); > > print "<br><br>"; > > print $HTTP_REFERER; > > print "<br><br>"; > > print "<a href='Javascript: history.back();'>Back</a>"; > > print "<br><br>"; > > var_dump(getenv($HTTP_REFERER)); > > ?> > > > > Under the "Back" link is the output of: var_dump(getenv($HTTP_REFERER)); > > Now I know that this was working before the upgrade, as a log in script I > > use on the main site uses getenv($HTTP_REFERER) to send them back to where > > they came from. This again worked 100% fine before PHP upgrade. > > > > Sorry to take up your time, but there is a problem somewhere that has > > certainly only begun with PHP since I upgraded to 4.1.2, and I dont know > > what it could be!? > > > > Thanks in advance. > > > > Paul Mullett > > > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php