Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names

From: Date: Fri, 15 Apr 2016 22:56:59 +0000
Subject: Bug #18556 [Com]: Setting locale to 'tr_TR' lowercases class names
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-200575@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=18556&edit=1

 ID:                 18556
 Comment by:         necmettin dot begiter at gmail dot com
 Reported by:        spud at nothingness dot org
 Summary:            Setting locale to 'tr_TR' lowercases class names
 Status:             Closed
 Type:               Bug
 Package:            Scripting Engine problem
 Operating System:   Linux (RedHat 7.2)
 PHP Version:        5CVS, 4CVS (2005-10-04)
 Assigned To:        stas
 Block user comment: N
 Private report:     N

 New Comment:

I'm having a problem that I believe is a side-effect of this issue.

I'm using the Twig extension in a project, and it uses the IteratorAggregate interface.

When the locale is tr_TR, I get
  Fatal error: Interface 'IteratorAggregate' not found in ..

When I do setlocale('en_US.UTF-8') or 'es_ES.UTF-8', everything works fine.

I can provide the PHP compilation command line but the IteratorAggregate interface is built-in, so I
assume it would be practically impossible to remove the interface during the compilation process.


Previous Comments:
------------------------------------------------------------------------
[2016-03-11 12:01:12] marcin dot filip at gmail dot com

Hi this bug is still exists in new php versions. We have same problem with php version 5.6.18 and
from your comments should be fixed in 5.5 but it isn't. Question is why change locale is
affecting interpreter matching method which should be independend from locale. And stable in any
case. So some one can tell me when this problem will be solved because for multi language solution
using locale as language settings and in some cases use the data formatting unique by country. Or
maybe you can provide some information how to omit that error or some fix for that (maybe patch)

------------------------------------------------------------------------
[2012-12-04 17:32:06] jpauli@php.net

So, to sum things up :
The bugs has only been fixed in 5.5 branch. It mainly uses a char map to lower 
characters instead of relying on locale-aware (possibly buggy versions) system's 
libc.

You can find details with internal zend functions affected directly by reading 
the source, here : http://lxr.php.net/xref/PHP_TRUNK/Zend/zend_operators.c#45

------------------------------------------------------------------------
[2012-09-13 19:19:14] stas@php.net

It looks like snaps is serving 5.4 under the name of php-trunk. Not sure why. 
Could you submid a website bug for that and send me the bug ID?
In the meantime you could use github: https://github.com/php/php-src just use the 
"zip file" option and you could build it from there.

------------------------------------------------------------------------
[2012-09-13 15:31:04] richlv at nakts dot net

thanks for the response.

$ wget http://snaps.php.net/php-trunk-201209131330.tar.gz
$ wget http://snaps.php.net/php-trunk-201209131330.tar.bz2
$ wget http://snaps.php.net/php-trunk-201209131330.tar.xz

$ for type in gz bz2 xz; do mkdir $type; (cd $type; tar -xf ../php-trunk-201209131330.tar.$type);
done

$ grep "PHP_VERSION " {bz2,gz,xz}/php-trunk-201209131330/main/php_version.h
bz2/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION "5.4.8-dev"
gz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION "5.4.8-dev"
xz/php-trunk-201209131330/main/php_version.h:#define PHP_VERSION "5.4.8-dev"

is that ok for trunk snapshots then ?

------------------------------------------------------------------------
[2012-09-10 06:22:46] stas@php.net

You should be using 5.5 (or master) branch of PHP. It is not fixed in 5.4 due to necessities of
binary APIs change which is not possible in stable version. Trunk does not announce itself as 5.4
but as 5.5, so there must be some mistake. 

However if you feel very adventurous, you can take 5.5 commit (it's marked with the bug #) and
cherry-pick it into your 5.4 branch.

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


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

    https://bugs.php.net/bug.php?id=18556


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


Thread (68 messages)

« previous php.bugs (#200575) next »