我想开始使用 gettext 来处理我在网络项目 (PHP 5) 上的翻译。由于它是一个广泛使用的标准并享有良好的声誉,因此它似乎是最佳选择。
但是,我也听说过有关服务器不兼容和非线程安全的消息。这对我当时使用它的项目意味着什么?由于我构建了许多人使用的东西,因此我的代码能够正常工作非常重要。
我们是在谈论小问题(比如人们仍在使用 PHP 4)还是主要问题,比如在网络服务器上分发和安装 gettext 的速度很慢?
最佳答案
线程问题仅适用于使用嵌入式 PHP(例如 Apache 的 mod-php)并运行使用线程的服务器(例如带有 worker-mpm 的 Apache 服务器)。
所以 - 线程安全问题不适用于您,如果:
- 您使用 NGINX 服务器(它不使用线程。)
- 您在 fastcgi 模式下使用 Apache(使用线程 MPM 或不使用)和 PHP
- 您将 Apache 与非线程 MPM(作为 prefork-MPM)一起使用,并在 mod-php 模式下使用 PHP。
所以 - 大多数默认安装 Apache 的人不应该担心 gettext 不是线程安全的,因为大多数发行版中的默认 apache 安装使用非线程 prefork-MPM!
附言另请记住,Windows 上的 Apache 是线程化的。
关于PHP Gettext 问题(比如非线程安全?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1646249/