PHP Gettext problems (like non-thread-safe?)

gettextinternationalizationPHP

I want to start using gettext to handle my translations on web projects (PHP 5). Since it is a widely used standard with a good reputation it seems to be the best choice.

However, I'm also hearing things about server incompatibly and it being non-thread-safe. What does this mean for my projects that use it then? Since I build things that many people use, it's very important that my code works.

Are we talking about minor problems (like people still using PHP 4) or major problems like distribution and installation of gettext on websevers being low?

Best Answer

Threads problem only apply if one uses embedded PHP (Apache's mod-php for example) and runs server that uses threads (like Apache server with worker-mpm).

So - thread safety issue does not apply to you if:

  1. you use NGINX server(it doesn't use threads.)
  2. You use Apache (with either threaded MPM or not) and PHP in fastcgi mode
  3. You use Apache with non-threaded MPM (as prefork-MPM) and PHP in mod-php mode.

So - most people with default Apache install shouldn't worry about gettext not being thread safe, as default apache's install in most distro's uses non-threaded prefork-MPM!

P.S. also - keep in mind that Apache on Windows is threaded.