Hi all,

I would like to ask for a few pointers on how to solve this problem. I am installing Drupal 5.1 on IIS 5.0/Windows 2000 and it is definitely frustrating but I have no other choice as my client has purchased this hosting prior to our project and they have set up their mailboxes. I am currently getting this error only on the main page i.e. index.php with no arguments passed

Notice: Undefined offset: 0 in [path]\includes\bootstrap.inc on line 602

Warning: Cannot modify header information - headers already sent by (output started at [path]\includes\bootstrap.inc:602) in [path]\includes\bootstrap.inc on line 488

Warning: Cannot modify header information - headers already sent by (output started at [path]\includes\bootstrap.inc:602) in [path]\includes\bootstrap.inc on line 489

Warning: Cannot modify header information - headers already sent by (output started at [path]\includes\bootstrap.inc:602) in [path]\includes\bootstrap.inc on line 490

Warning: Cannot modify header information - headers already sent by (output started at [path]\includes\bootstrap.inc:602) in [path]\includes\bootstrap.inc on line 491

Notice: Undefined property: stdClass::$theme in [path]\includes\theme.inc on line 45

Notice: Undefined offset: 0 in [path]\includes\bootstrap.inc on line 602

I understand that the warnings are due to the Notice: Undefined offset: 0 error on top. I'm curious in whether is this a real error or is it just particularly bitchy error reporting. In bootstrap.inc, line 602 is the request_uri function

      $uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];

Is the offset referring to the fact that $_SERVER['argv'][0] returns null? What does it mean? Can anyone explain the implications of this notice?

I hope this is not a boneheaded question and thank you in advance for any help provided. Please please do show me the light.

regards,
nihl

Comments

NiHL’s picture

OK I kinda understand it now, it only occurs when i type the base url because there is no ?q= and $_SERVER['argv'][0] is undefined hence it triggers the warning. This is what I think is happening.

Unfortunately since I'm on IIS and it doesn't use $_SERVER['REQUEST_URI'] I'm kinda the stumped at the moment.

Is it because IIS5.0 is too ancient?

NiHL’s picture

Is this just an issue with unsuppressed warnings? Any explicit explanation on this issue?

utch’s picture

I am having the same issue. It only occurs when a user is not logged in though. When users are logged in, no errors are displayed.

utch’s picture

Went into php.ini and turned display_errors off. This corrected the errors from not showing atleast.

lebachai’s picture

Same Drupal on IIS, same exact errors. I went to bootstrap.inc and commented out the function and the errors disappeared. I don't like hacking the core...but the idea of turning off errors in PHP doesn't appeal, either. Did anyone else find a better solution?

ethanzhong’s picture

I have the same problem when I move my drupal 5.1 site to the host. It works well in my local PC. I wonder how to solve this problem. Anyone can help??

SweeneyTodd’s picture

I've just installed the 5.1 and have the same problem. I am using a host with IIS.
I am using a hosting company so cannot change the php.ini.

I tried to remove the offset from the function call, i.e.

changed:
$_SERVER['argv'][0]

to:
$_SERVER['argv']

This stopped the error messages, but when I tried to configure the site I found that I was not writing to the database (no changes were saved).

Does anyone have any ideas?

SweeneyTodd’s picture

Just in case anyone else hits this problem, I have managed to suppress the php error messages by adding a line to the settings.php in the sites/default folder.
I added the following line to the PHP Settings section:

ini_set('display_errors', 0);

It has worked ok here. I am getting some error messages/warnings elsewhere, but these are in admin pages so will not be visible to visitors so I am not looking at them at present.

DrupalEasy.ir’s picture

I have same problem,please send me your solution.