是PHP线程

  • PHP(截至5.2)在Linux / UNIX上是线程安全的吗?
  • 是否有可能将它与Apache Worker-MPM或Event-MPM一起使用?
  • 我迄今收集的事实是不确定的:

  • 包含在大多数发行版中的默认二进制文件都禁用了ZTS,所以我知道我必须重新编译它们。
  • 理论上讲,启用ZTS的Zend Engine(核心PHP)是线程安全的。
  • 据说有些模块可能不是线程安全的,但是我还没有找到任何模块的列表。
  • PHP FAQ的状态与上述非常相似。
  • 你有什么经验?

    这不仅是关于分段错误(Windows命名中的“访问违规”)。 线程安全还有很多。


    我知道gettext和set_locale不是线程安全的。 PHP不应该与线程化的MPM一起使用。

    PHP不是线程安全的。
    运行PHP不是线程的。


    请参阅我在哪里可以获得编译某些可选PHP扩展所需的库? 获取线程安全和非线程安全扩展的列表(*标记为不是线程安全的,其他是)。


    更好的问题可能是“如果使用MPM,以下PHP代码是否会触发访问违规?” 或者,“您是否遇到过使用以下功能可能归因于并发问题的奇怪行为?”

    否则,这是俄罗斯轮盘赌。 如果你正在使用一些打包的应用程序,它现在可能工作得很好,但是在新版本的应用程序发布之后的一个月后就会中断。

    一般来说,我强烈建议不要使用MPM。 然而,如果你有一些小代码可以运行,你可以发布它,并且我们可以告诉你,如果你打算陷入陷阱。

    链接地址: http://www.djcxy.com/p/57977.html

    上一篇: Is PHP thread

    下一篇: PHP null coalesce + ternary operators strange behavior