[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: will PHP and GNU gettext work properly with Apache?

From: Dave Patton
Subject: Re: will PHP and GNU gettext work properly with Apache?
Date: Mon, 28 Feb 2005 17:17:06 +0000 (GMT)
User-agent: Xnews/5.04.25

"Dave Patton [DCP]" <address@hidden> wrote in 

> Can someone point me to a definitive source for the
> answers to the following two questions:
> 1)
> In an environment with Redhat Linux 2.4.21-27.0.1,
> Apache 1.3.31, PHP 4.3.10, and GNU gettext 0.14.1,
> will using PHP's gettext support along with the
> GNU gettext utilities work properly?
> For example, I've seen references to the translated
> strings in .mo files not always being what appears
> on webpages, presumably due to the caching built
> into GNU gettext.
> 2)
> In December 2003, in the php.i18n newsgroup, in a posting titled
> "GNU gettext support for PHP programs", Bruno Haible said:
> - The just-released GNU gettext 0.13 has improved support
>    for PHP programs
> - Unfortunately, GNU gettext is not yet ready for being used
>    in a multithreaded environment where each thread may need
>    to use a different locale/language.
> The README file in the hello-php directory for GNU gettext
> 0.14.1 says:
> ------------------------------------------------------------------
> The gettext/PHP binding has a limitation: While it works fine for
> standalone PHP programs, it cannot be used inside a web server, to
> translate parts of web pages into the preferred encoding of user
> that makes a HTTP connection. The reason is that a web server
> usually is multithreaded, and the gettext() API relies on the
> process' global locale.
> ------------------------------------------------------------------
> Do the above statements mean that using GNU gettext with PHP
> and Apache 2.0 will not work? Does anyone know if there are
> plans to change GNU gettext to support multiple threads?

I've added a note to the PHP website page for gettext:
Make sure you check your webserver configuration before deciding
to use gettext, because if you are running in a multi-threaded
environment you should not use gettext, as it is not thread-safe.

A future version of gettext(possibly 0.15) may be thread-safe.
Any gettext dependencies, such as glibc would also need to be

Apache 1.3 on Unix generally is non-threaded, but on Windows it
is multithreaded.
Apache 2.0 has support for MPMs(Multi-Processing Modules), some of
which support multiple threads:

Dave Patton
Canadian Coordinator, Degree Confluence Project
My website: http://members.shaw.ca/davepatton/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]