| 
	
 | 
 Posted by kristina clair on 12/05/05 19:40 
On 12/5/05, Jay Blanchard <jay.blanchard@thermon.com> wrote: 
> [snip] 
> I'm having a problem with certain SSI files which include php scripts 
> after upgrding php from 4.3.10 to 4.4.1. 
> The includes look like: 
> <!--#include file="eventsdb.php?ID=81&fld=2" --> 
> 
> In some cases, the page output is different with 4.4.1 than it is with 
> 4.3.10.  In the worst cases, Apache gives a segmentation fault, and 
> the page is blank. 
> 
> Has anyone encountered any similar issues? 
> [/snip] 
> 
> We'd have to see some code to begin to analyse what the problem might be. 
> Can you send php code snips from eventdb.php? 
> 
 
The code is short.  The same php script is being included in the page 
which is displaying differently and the page which is causing the 
apache segfault. 
 
if (empty($ID)){ 
    $ID='1'; 
} 
$today = date("Ymd"); 
$conn = mysql_connect ([snip]); 
if ($conn == false){ 
  echo mysql_errno() . ": " . mysql_error() . "<BR>"; 
  exit; 
        } 
else { 
                        $rtn = mysql_select_db ("[tablename]"); 
                        $sql = "select * from events where ID = ".$ID; 
                                                $result = mysql_query ($sql); 
                        if ( ($row = mysql_fetch_row($result)) && 
($today<=$row[4] 
) ){ 
                                                        //if ( $row = 
mysql_fetch_ 
row($result)) { 
                                                        switch ($fld){ 
                                                        case 2: 
                                                        echo $row[2]; 
                                                        break; 
                                                        case 5: 
                                                        echo $row[5]; 
                                                        break; 
                                                        case 6: 
                                                        echo $row[6]; 
                                                        break; 
                                                        case 7: 
                                                        echo $row[7]; 
                                                        break; 
                                                        default: 
                                                        echo $row[1]; 
                                                        break; 
                                                          } 
                                                } 
 
                           } 
 
 
By the way, the backtrace from the apache segfault is: 
#0  0xb7e095cc in zend_hash_index_update_or_next_insert (ht=0xb7ea29c0, h=0, 
    pData=0xbfffdc60, nDataSize=12, pDest=0x0, flag=1) 
    at /home/sys/src/php-4.4.1/Zend/zend_hash.c:390 
390         p = ht->arBuckets[nIndex]; 
(gdb) bt full 
#0  0xb7e095cc in zend_hash_index_update_or_next_insert (ht=0xb7ea29c0, h=0, 
    pData=0xbfffdc60, nDataSize=12, pDest=0x0, flag=1) 
    at /home/sys/src/php-4.4.1/Zend/zend_hash.c:390 
        nIndex = 0 
        p = Variable "p" is not available. 
(gdb) 
 
That segfault backtrace is the same even if I compile php with the 
--without-zend-memory-manager flag, and also when I disable all Zend 
settings in php.ini. 
 
Thanks, 
Kristina 
 
-- 
"In most cases, people, even wicked people, are far more naive and 
simple-hearted than one generally assumes.  And so are we." 
/* last line, 1st ch., The Brothers Karamazov */
 
  
Navigation:
[Reply to this message] 
 |