Edit report at http://bugs.php.net/bug.php?id=53251&edit=1
ID: 53251
Comment by: greno at verizon dot net
Reported by: jeanseb at au-fil-du dot net
Summary: bindtextdomain with null directory doesn't return
the previously set
Status: Feedback
Type: Bug
Package: Gettext related
Operating System: Debian 5.0.6
PHP Version: 5.3.3
Block user comment: N
Private report: N
New Comment:
Gettext is not thread-safe.
You cannot run PHP gettext in anything but a non-threaded CGI or prefork
mode.
We run our webservers prefork to support PHP gettext.
And for any production webserver it is best to run either CGI or prefork
so that your connections are completely isolated.
And PHP gettext performs correctly when used w/CGI or preforking
webservers.
.
Previous Comments:
------------------------------------------------------------------------
[2010-11-24 23:39:00] [email protected]
Besides our little difference about virtual CWD, please try the attached
patch against 5.3. It checks if the given directory is empty or NULL
(dir length == 0) and if yes, calls bindtextdomain with NULL.
Is it what you expect?
------------------------------------------------------------------------
[2010-11-24 23:38:42] [email protected]
The following patch has been added/updated:
Patch Name: Test_if_NULL_or_empty
Revision: 1290638321
URL:
http://bugs.php.net/patch-display.php?bug=53251&patch=Test_if_NULL_or_empty&revision=1290638321
------------------------------------------------------------------------
[2010-11-24 23:23:44] [email protected]
Using your script: it happens exactly what I explained earlier. The
library does not find the locale because its CWD is not the same as the
script CWD (which is a virtual CWD, created by the engine and specific
to the engine).
I suppose you use Apache in a non thread safe mode, that won't show you
the effect I was referring to as it happens only with threaded SAPI.
------------------------------------------------------------------------
[2010-11-24 20:44:02] greno at verizon dot net
The patch upload apparently won't take a zip.
The PHP bindtextdomain brokenness demonstration app can be found here:
http://greno-misc.googlecode.com/files/testbindtextdomain.zip
.
------------------------------------------------------------------------
[2010-11-24 20:32:59] greno at verizon dot net
Yes, I read and perfectly understood your comment.
There is no problem with CWD when using gettext. I've tested this many
times.
I prepared a little app that demonstrates the bindtextdomain problem.
There is a README.txt that explains in the zip.
I didn't see any way to attach a file to the bug so I'm taking the
liberty of attaching it as a Patch but it is not really a patch. It
demonstrates the problem of multiple translation stores with the broken
bindtextdomain.
------------------------------------------------------------------------
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/bug.php?id=53251
--
Edit this bug report at http://bugs.php.net/bug.php?id=53251&edit=1