|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-01-20 06:24 UTC] tufan at metu dot edu
I thought this bug was submitted for an earlier version of php (maybe 4.1.2 or so), but it seems to be not corrected. The main problem is, the lowercase of "I" in Turkish is not "i". it is an "i" without a dot on top of it: "?". Something in php affects all variables including the letter "I". So $_SESSION, SID, or PHPSESSID doesn't work. I think some code in php first changes all variables names to lowercase (and for turkish locale, incorrectly lowercases I to i), and then changes all variable names to uppercase (and correctly uppercases i to ?). So, $_SESSION becomes $_SESS?ON, and since php couldn't find a variable named $_SESSION, it regenerates a new PHPSESSID. The correct uppercase - lowercase of this letter is: I - ? ? - i A workaround for this is making sure apache server starts in en_US locale. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Dec 10 01:00:01 2025 UTC |
no code works. even the example in the php session documentation... :) <?php session_start(); // Use $HTTP_SESSION_VARS with PHP 4.0.6 or less if (!isset($_SESSION['count'])) { $_SESSION['count'] = 0; } else { $_SESSION['count']++; } echo "Count {$_SESSION['count']}"; ?>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.