ID:               21771
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Bogus
 Bug Type:         Variables related
 Operating System: linux kernel 2.4.18
 PHP Version:      4.3.0
 New Comment:

let's close this then. You should propably report this to
the nice apache folks?



Previous Comments:
------------------------------------------------------------------------

[2003-01-30 11:00:38] [EMAIL PROTECTED]

Thanks for checking it out. Can you please close or "bogusify" the bug,
then (I can't, since I'm neither the submitter nor a PHP developer)?

As a last note: probably you will need to use something like

  setlocale(LC_CTYPE,"tr_TR") 

if you use strtoupper("i") etc., because otherwise PHP cannot know that
you want to get an uppercase I with dot.

------------------------------------------------------------------------

[2003-01-30 03:30:53] [EMAIL PROTECTED]

Hmm...
Indeed, this seems to be a apache problem.

I took a look at the locale definition files for my OS (RedHat 7.2) and
they seem to contain correct definitions of uppercase and lowercase
letters (and their correspondance).

when

register_globals=on
LC_CTYPE=tr_TR

script.php?ID=some_value works perfectly.

with the same settings, a var_dump($GLOBALS) gives:

  ["HTTP_ACCEPT_ENCODİNG"]=>
  string(38) "deflate, gzip, x-gzip, identity, *;q=0"
  ["HTTP_CONNECTİON"]=>
  string(14) "Keep-Alive, TE"
  ["HTTP_COOKİE"]=>
  string(42) "PHPSESSID=4035cdd7974d97ccdcd79f9f711299c1"
  ["HTTP_COOKİE2"]=>
  string(10) "$Version=1"

Note the İ in the variable names. However, names of variables such as
SCRIPT_FILENAME, SERVER_ADMIN, or SERVER_SIGNATURE are correct, i.e.
they contain an I and not an İ.

In fact, as much as I can see, variables with this problem are only
those containing "COOKIE", "ENCODING", and "CONNECTION" words (whether
they are global or indices in the _SERVER or HTTP_SERVER_VARS). The
other variables containing "I" are correct.

So my original problem was actually: Since the register_globals off and
since apache did not pass cookies due to the incorrect variable name
(when it started with LC_CTYPE=tr_TR), my session script didn't work.

The same (or similar) problem occurs with mod_mime_magic.so, when
enabled, apache does not start at all, giving the error message
"Invalid command 'MIMEMagicFile', perhaps mis-spelled or...".

So,

unset LC_ALL
LC_CTYPE=C    (or LC_CTYPE=en_US)
export LC_CTYPE

works (but you should do apachectl stop and apachectl start, instead of
apachectl restart).

Since this is probably a problem at the server side itself, a
setlocale(LC_ALL,"en_US") in the php script itself does not work (a
friend of mine had recommended trying, I gave a shot).

Thank you all for your help.

------------------------------------------------------------------------

[2003-01-29 12:21:06] [EMAIL PROTECTED]

Tufan, can you please (after answering Sniper's questions) try and put
the following lines into your apachectl:

unset LC_ALL
LC_CTYPE=C
export LC_CTYPE

See my comments on http://bugs.php.net/bug.php?id=21919 (in short:
perhaps this is Apache's problem, because it happens also with
mod_perl).

------------------------------------------------------------------------

[2003-01-28 23:19:43] [EMAIL PROTECTED]

And are the names mangled in $GLOBALS too?
try:

<?php var_dump($GLOBALS); ?>

And check the output for the _COOKIE / _SESSION indexes.


------------------------------------------------------------------------

[2003-01-21 19:10:33] [EMAIL PROTECTED]

restore mangled summary and OS entries.


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/21771

-- 
Edit this bug report at http://bugs.php.net/?id=21771&edit=1

Reply via email to