禁用 PHP 5.6.36 线程安全

Disable PHP 5.6.36 Thread Safe

我正在 CentOS 7 服务器上使用 Apache 2.4.33 编译 PHP 5.6.36,PHP 线程安全始终处于启用状态。我确实尝试使用 --disable-posix-threads 进行编译,但此选项不是 "configure" 选项,也不是 --disable-maintainer-zts 并且最后我的 TS 仍然启用服务器.

当我使用 Apache 2.2 时我没有遇到这个问题,一旦我的服务器需要 PHP 总是被禁用。我的 Zend 库是在没有 TS 的情况下编译的,我将 运行 PHP 作为模块而不是 cgi 或 fast-cgi。

有什么方法可以在不启用 TS 的情况下使用 Apache 2.4 编译 PHP 5.6?

Apache 2.4.33 默认使用 worker MPM 编译,它是多线程的。当您针对多线程 MPM 编译 PHP 时,它将启用线程安全。

解决办法是用单线程的--with-mpm=prefork编译Apache。 PHP 针对该编译将禁用线程安全。