Drupal 5 HEAD will not install for me using a clean install of FF 2.0.0.1 on Mac OS 10.3.9.

After some long trial and error with no success at installing Drupal HEAD, which I've done on several occasions, I finally tried switching to safari, since switching browsers was the only thing I hadn't tried. Things worked immediately with no other changes, and I replicated a few times to be sure there wasn't some other variable.

What happens in FF 2.0.0.1 for me is that when I enter all the info on the initial install page and press submit, all that happens is that the page refreshes and clears all fields. Apparently, the settings.php file actually gets written to but nothing else happens (no errors or anything like that). The database is not created.

Larger issue:
Besides this specific incompatibility, I am wondering what it is that would make the installer browser non-independent in the first place and/or can that be fixed before Drupal 5 is final?

CommentFileSizeAuthor
#6 install-cache.patch575 bytesSteven
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

eaton’s picture

I'm using FF 2.0.0.1 on OSX 10.4.8, and I haven't run into this. Are you running on localhost? Any other configuration information available?

Caleb G2’s picture

PHP 5.1.6, MySQL 4.1, Apache 1.3

I actually gave Heine an account and ssh access to my server earlier today to test things (this was before I came to the realization that the problem was isolated to my browser). The server itself is fine and the installer works - just not for me with FF 2.0.0.1. Am just wondering what is browser dependent in the first place. Is it a sessions thing, or is javascipty stuff. If it's javascripty stuff, then maybe there's something that can be done to make it more fail-safe (?).

cog.rusty’s picture

Just to be sure... have you tried clearing the cookie in your browser and trying again?

Steven’s picture

I can reproduce on Firefox2 OSX, Apache 1.3 something, PHP 4.4.4.

Steven’s picture

I think this is a caching issue... when the form is submit, the settings.php file is rewritten (this is verified) and a 302 redirect is done to /install.php?profile=default.

At this point, the settings.php is correct, and the form should be skipped, and Drupal should be installed. Or, if MySQL database incompatibilities are found, they are shown.

But, no new request is made. The browser shows the previous, empty form. Doing a refresh continues the installation.

Steven’s picture

Status: Active » Needs review
FileSize
575 bytes

Bug found. drupal_page_header() sets the right cache headers, but is only called in DRUPAL_BOOTSTRAP_FULL. Because we can't bootstrap until Drupal is installed, the headers were not sent.

I added a call to drupal_page_header() for the installation pages.

Dries’s picture

Status: Needs review » Reviewed & tested by the community

Looks good to me! :)

So FF2 assumes it can cache the page because no (or default PHP) headers were sent?

Steven’s picture

Status: Reviewed & tested by the community » Fixed

I don't know where the headers were coming from (probably Apache, mod_expire), but they had a cache expiry date in the future:

Expires: Wed, 24 Jan 2007 09:49:51 GMT
UnConeD: Cache-Control: max-age=120960

The browser was doing the right thing by caching... I guess Firefox is the only one that also does it for redirects.

Committed to HEAD. I tested it and monitored it with LiveHTTPHeaders and it makes perfect sense. After the patch, the expiry date is in the past and the browser does not cache it.

Anonymous’s picture

Status: Fixed » Closed (fixed)