My father wanted to try out b2evolution. Oh my god…

He was not able to login. With the help of ethereal we found out that b2evolution uses the following line of code to determine your cookie domain:

$cookie_domain = ($basehost == 'localhost') ? '' : '.'. $basehost;

which will not work when you have a local net with hostnames such as “linux1” because this tries to restrict the cookie to .linux1.

Changing it to

$cookie_domain = '';

worked like a charm.

Why is there not a single PHP program that just works? Is it the language that invites you to write crappy code, or is it the users of PHP that have no clue?