Page MenuHomePhabricator

HTTP 304 responses failing on IIS 6.0
Closed, DeclinedPublic

Description

Author: jaywtbf

Description:
I am installed on WIMP (Win Server, IIS, MySQL, PHP) and am having trouble after I
logout. At the moment, I am the only user on the wiki, but you can go there and try
to log in, then log out and then load the main page. It's not loading after you
logon then log off. It seems to be restricted to only the main page, if you check
your history and go into a page you've already been, it works.
Now if you were to, at this point, erase your temp internet files it suddenly works
again.


Version: unspecified
Severity: normal
OS: Windows Server 2003
Platform: PC
URL: http://www.idiotsite.com/wlwiki

Details

Reference
bz1763

Revisions and Commits

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 8:17 PM
bzimport set Reference to bz1763.
bzimport added a subscriber: Unknown Object (MLST).

HTTP result codes are not being sent properly; an HTTP/1.x 304 Not Modified response is being silently turned into an
HTTP/1.x 200 OK, and since there's no content sent you see a blank page. 301 and 302 redirects seem to have the same
problem.

This appears to be some sort of interaction between IIS and PHP's CGI interface.

onetime wrote:

Also on WIMP, and reveive a blank page when clicking a link that should re-load
the existing page. This initially only occured on Main_Page, and subsequently
started occuring on other pages.

Start on Main_Page. Click Main Page nav link. A blank page (just html, and body
tags) is displayed. Doing a ctrl-shift reload correctly loads Main_Page.

Caching is off. Tried various browsers (IE, Firefox, Opera), on various machines.
http://www.solidgone.com/wiki/index.php?title=Main_Page

plugwash wrote:

try setting $wgCachePages = false in LocalSettings.php

if this works we might want to make the installer detect IIS and do this
automatically (with a warning like: due to an issue with IIS and php client side
cacheing is disabled, if your site is heavy load we stronly suggest switching to
apache and enabling client side cacheing)

jaywtbf wrote:

That line doesn't exist in my LocalSetting.php, so I tried to add it and get a parse error.
Parse error: parse error in C:\Domains\idiotsite.com\wwwroot\wlwiki\LocalSettings.php on line 35

jaywtbf wrote:

Whoops, forgot the semicolon after the line, duh.

Thanks for the help, I'll see how it works from here.

I'm testing MediaWiki 1.4.0 on IIS 5.1, and haven't been able to reproduce this problem. The 304 response is correctly
returned, and the page is displayed. It may be an IIS 6.0-specific problem, or something else may be causing it.

Windows XP Professional, previously upgraded to service pack 2
IIS 5.1 freshly installed
PHP 4.3.10 installed via the Win32 installer package; using cgi-fcgi server API
MySQL 4.0.24-nt installed via the Win32 installer package

jaywtbf wrote:

It seems that my problem is totally cleared up. The issue was the local caching. Thanks for
the help.

If disabling client-side caching "fixed" it, then the root problem hasn't been fixed. Reopening; changed summary to describe problem.

If you mean something else by "local caching" can you elaborate?

  • Bug 1872 has been marked as a duplicate of this bug. ***

mailsarith wrote:

I've installed on (Win 2000 Pro, IIS 5.0, MySQL, PHP). Also have done SSL on IIS.
When configuring on config/index.php, and clicking on install, sometimes the page
would blank or message 'page cannot be displayed'.

It ran fine once, and the localsettings.php file was generated. but when i go to
http://localhost/wiki/index.php, I get these warnings:

Notice: Only variable references should be returned by reference in
C:\Wiki\mediawiki\includes\ObjectCache.php on line 369

Notice: Only variable references should be returned by reference in
C:\Wiki\mediawiki\includes\ObjectCache.php on line 369

Notice: Only variable references should be returned by reference in
C:\Wiki\mediawiki\includes\SkinTemplate.php on line 136

Thanks for your help.

robchur wrote:

(In reply to comment #10)

I've installed on (Win 2000 Pro, IIS 5.0, MySQL, PHP).

Versions of the others, plus the version of MediaWiki being installed is going
to be more useful.

mailsarith wrote:

Here are the version details -

MySQL - 3.23.47-nt
mediawiki- 1.4.5
PHP 5.1.1

I hope this helps.

mailsarith wrote:

I tried the same with a Windows 2000 Server, IIS 5.0, PHP 4.4.1, MySQL 3.23.47,
and I still get the same error. I dont get this using WAMP.

robchur wrote:

Do you get this if you use a release version, such as 1.5.3?

mailsarith wrote:

It works with the later release. Thanks - Probably something got fixed in the
later release.

robchur wrote:

Adding "testme", need someone to check this in HEAD on the offchance it *wasn't*
fixed after all.

anw wrote:

i can reproduce this effect with version 1.5.7 (clean install)
on
w2k3 - iis6
php 4.4.1

everytime when a page sould com from the cache it is blank.

tried to disable any caching dosen't help.

mc_aj_watson wrote:

I've seen it also - running IIS v6 on Win2000

MediaWiki: 1.5.6
PHP: 5.1.1 (cgi-fcgi)
MySQL: 5.0.18

Sometimes entire pages are blank, sometimes the navigation bar won't render.
Always works fine in Firefox.

mills wrote:

I have blank page problem on IIS6 on Win2003. IIS6 log returns 200 not 304.
MediaWiki 1.5.7
PHP 5.1.2
MySql 5.0.19
Installed this week. Pages seemed to work fine. The problem first started
when editing articles. I could edit discussion fine. Then the problem
grew. Discussion edits stopped. Started getting "CGI Error...page misbehaved
error" Now, site displays nothing but blank pages, including Main page.
Running php page info.php has no problem. This same configuration worked
fine when I tested on Windows XP Workstation IIS5 before loading on W2K3
server. Local caching problem? Same response in Firefox and IE.

anw wrote:

Just installed Version 1.6.2 (clean install, no upgrade). Same effect.

vaibhavgupta28 wrote:

(In reply to comment #18)

I've seen it also - running IIS v6 on Win2000MediaWiki: 1.5.6PHP: 5.1.1 (cgi-

fcgi)MySQL: 5.0.18Sometimes entire pages are blank, sometimes the navigation bar
won't render. Always works fine in Firefox.

Any luck in this, I have the same issue with me.

Thanks for any help

jkemp wrote:

I had a similar problem with IE getting a lot of blank pages. I used Ethereal
to check for 304s. I was getting the 200s with correct page info. However, the
trace also reveal an error message being returned that php_ldap.dll could not be
loaded. I was not seeing this error message in IE or Firefox. Firefox must
have silently dropped it but IE must have choked on it and generated a blank
page. Fixing this PHP error made the IE blank pages go away. Get a packet
trace to make sure you are having the 304/200 problem and not something else.

aftrbrnr wrote:

We had the exact problems decribed in this thread (blank pages in IE) when running on IIS6. It was
easily replicated on 3 servers.

The problem was fully resolved on all 3 boxes by installing the latest PHP5 build *AND* installing
using the ISAPI method instead of the CGI/EXE method.

I hope this helps.

gustavoa wrote:

I have the same problem under IIS 2000, PHP 5.1.2, MySQL 5.0.18. I cannot tell
exactly under which circumstances the blank screen appears. It happens with IE6
and Firefox 1.5.
Surprisingly, when I right-click the page and watch the source code, it appears
to be truncated.
What is going on???

MW 1.9.0 on PHP 5.2.0 as either ISAPI or CGI on IIS 6 under Win2k seems to be fine.
(modulo the old bug 3000 or general PHP configuration problems).

I'm going to mark this as WORKSFORME; if problems *with cached page views*
continue with 1.9.0/1.9.1 please add more detail.

crodseth94 wrote:

I had the same problem, except one of my servers worked fine, and one did not. The server that did not work was giving me blank
pages or sometimes partial pages. Both are Win XP, IIS, PHP, and MySQL. The only difference was one of the servers had newer
versions of both PHP and MySQL.

I set PHP to log events to the system log. After doing so, I discovered that PHP was trying to write session data to
c:\php\sessiondata. This folder did not exist because my PHP install was located in the program files directory.

To resolve, I simply created a PHP folder on the C: drive and created a sessiondata folder within it. I gave IUser_xxxxx write
permission and all is well

ebrecha wrote:

I create the folder c:\php\sessiondata and it worked

Thanks Cameron!

epriestley changed the task status from Declined to Resolved by committing Unknown Object (Diffusion Commit).Mar 4 2015, 8:23 AM
epriestley added a commit: Unknown Object (Diffusion Commit).
Aklapper changed the task status from Resolved to Declined.Mar 4 2015, 11:48 AM
Aklapper claimed this task.