Very Annoying PHP Errors
Kevin Kinsey
kdk at daleco.biz
Wed Feb 14 16:17:09 UTC 2007
Peter Pluta wrote:
> I recently upgraded to 5.2.1_1. After upgrading (or before not exactly
> sure) I began getting errors ALERT - canary mismatch on efree() - heap
> overflow detected in my Apache logs.
That sounds a tad troubling, and is rather over my head. It does appear
that some people believe that recent changes in the Zend Memory Manager
have been a tad, err, hasty|ill-advised|to be sneered at.
Like I say, way over my head. Considering 5.2.1 was released six days
ago, you may have found a new bug! Congratulations!??
> Also, certain parts of one of my
> database (mysql) driven sites stopped working. Certain pages just
> stopped working, they return a blank white page.
This is indicative of a PHP "stop" error, with PHP's error_reporting
directive set to "off". You might try adjusting the value of the
display_errors directive in php.ini to "ON" (and restarting apache), or,
on a page-by-page basis (or in a header file if the PHP site using such
things), adding the line:
error_reporting(E_ALL);
to the top of each affected file. PHP will most likely tell you
what the error is from its POV, which might well help you decide what
course of action to take. For more info, see:
www.php.net/error_reporting
Of course, it's possible that you'll simply get the same error - only
now it's displayed on the page instead of the Apache log. Perhaps it
will give a line number or tell what PHP call produced the error ...
might help a little bit.
> I'm absolutely stumped
> on what it could be. I have tried recompiling php 4-5x with different
> options and re-installing apache etc... Nothing is working. I looked for
> php bug reports, and found this one http://bugs.php.net/bug.php?id=40119
> but it does not really pertain to me. Can anyone give some pointers or
> tips on what to do?
>
Take a deep breath and a cup of {beverage}; chances are pretty good that
you will find out what's wrong. Sounds like, according to your
description above, some problem with the MySQL extension to PHP, or
PHP's loading of said extension, or the order in which things were
compiled, or the options in "extensions.ini", etc.
Oh, and see above ;-)
Of course, if it's a real live PHP bug, it won't be quite as easy as
changing an .ini file.....
> Right now I am thinking of just downgrading to PHP 5.2.0 because that's
> what worked last. Is there an easy way to downgrade ports?
>
I'd not go there just yet; but, it's possible to use cvsup to get an
older version of the ports tree, yes. What kind of a mess you might get
into as a result, I'm not sure. It might be possible to uninstall all
the affected ports and grab packages that were built by the FBSD team
for 6.2-RELEASE; they would likely work, although you'll be using an
older PHP as a result; that's what's maddening about attempting to stay
ahead of the "bad guyz" these days. PHP 5.2.1, for example, is supposed
to *fix* some potential security problems . . . not cause DOS.
> Any feedback, tips, or help would be greatly appreciated.
>
> Thanks,
> Peter
Hopefully it's worth something.
Kevin D. Kinsey
--
Oh, so there you are!
More information about the freebsd-questions
mailing list