我打算使用这个Simple PHP Upload with a Progress Bar,它显示我需要APC扩展。对于APC,我有两种选择:线程安全和非线程安全。
使用phpinfo,我发现线程安全被启用了,但我不确定php是否真的在运行多线程。我听说php仍然是多线程的beta版本。
无论如何,如果我的PHP不是多线程的,并且不是“线程安全的”,那么使用线程安全版本的APC会有问题吗?
tl;dr版本:线程安全的APC是否意味着更多的兼容性(适用于php单线程/多线程),还是意味着需要多线程(仅适用于php多线程)?
发布于 2012-06-21 03:42:05
如果我的
不是多线程的,并且不是“线程安全的”,那么使用线程安全版本的APC会有问题吗?
是的-它不会工作的,句号。线程安全是一种编译设置,必须与PHP本身和所有扩展匹配,否则无法加载它们。Here's an article非常详细地解释了其中的区别。
请注意,除了TS/NTS设置之外,您还需要CPU体系结构(x86与x64)和用于编译的Visual Studio版本(VC6与VC9)相匹配才能使扩展工作,并且扩展的版本可能只适用于某个主要版本的PHP.
所有这些都意味着,在PHP安装中获得正确的预编译扩展二进制文件是非常困难的。
发布于 2012-06-21 02:09:15
我建议使用线程安全版本。虽然非线程安全版本可能更快,但如果PHP支持线程(或其扩展支持),那么拥有额外的兼容性是一个好主意。
https://stackoverflow.com/questions/11125424
复制相似问题