5

我打算使用带有 Progress Bar 的 Simple PHP Upload,它说我需要 APC 扩展。我有两个 APC 选项,线程安全的和非线程安全的。

使用 phpinfo,我发现启用了线程安全,但我不确定 php 是否真的在运行多线程。我听说 php 仍然是多线程的测试版。

无论如何,如果我的 PHP 不是多线程的并且不是“线程安全的”,那么使用 APC 的线程安全版本会有问题吗?

tl;dr 版本:线程安全的 APC 是否意味着更高的兼容性(在 php 单线程/多线程中工作),还是意味着需要多线程(仅在 php 多线程中工作)?

4

2 回答 2

5

如果我的 PHP 不是多线程的并且不是“线程安全的”,那么使用 APC 的线程安全版本会有问题吗?

是的 - 它不会工作,期间。线程安全是一个编译设置,必须与 PHP 本身和所有扩展匹配,否则无法加载。这是一篇详细解释差异的文章。

请注意,除了 TS/NTS 设置之外,您需要 CPU 架构(x86 与 x64)和用于编译的 Visual Studio 版本(VC6 与 VC9)匹配,以使扩展工作,以及扩展可能仅适用于 PHP 的某个主要版本。

所有这一切意味着要获得正确的预编译二进制扩展以与您的 PHP 安装一起工作是非常困难的。

于 2012-06-20T19:42:05.287 回答
-1

我建议使用线程安全版本。虽然非线程安全版本可能更快,但如果 PHP 支持线程(或其扩展支持),那么拥有额外的兼容性是一个好主意。

于 2012-06-20T18:09:15.223 回答