当前位置:首页 > 叨叨念念 > PHP Non Thread Safe和Thread Safe版本的区别

PHP Non Thread Safe和Thread Safe版本的区别

叨叨念念 / 星之宇 / 2021-8-26 22:00 / 浏览:4314 / 评论:0

在Windows系统下,PHP有Non Thread Safe和Thread Safe版本的区别,那么我们应该如何选择版本呢?

127-1.png


1 定义

1.1 None-Thread Safe

简称nts,即非线程安全,多个线程访问时不提供数据访问保护,有可能出现更改数据造成所得到的是脏数据,php以fastcgi方式运行的时候选择这个版本,具有更好的性能。


1.2 Thread-Safety

简称ts,即线程安全,多线程访问时采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染,php以ISAPI方式加载的时候选择这个版本。


2 选择

对于现在常用的web服务器,如果选择Apache+PHP的组合,常用ISAPI的方式,所以选择Thread Safety(线程安全)版本;如果选择Nginx+PHP的组合,常用FastCGI的方式,所以选择None-Thread Safe(非线程安全);如果选择IIS+PHP的组合,也常用FastCGI的方式,所以可以选择None-Thread Safe(非线程安全),因为新版本IIS使用这种方式非常高效和稳定。


3 查看版本

通过phpinfo查看Thread Safety选项即可,如果是disabled,表示None-Thread Safe(非线程安全)版本;如果是enable,表示Thread Safety(线程安全)版本。

目前有 0 条评论

    • 昵称
    • 邮箱
    • 网址