PHPのスレッドセーフ版(TS)とノンスレッドセーフ版(NTS)の違いを理解するには、(1)Webサーバーが同時に複数のHTTPリクエストを処理する方法、(2)Webサーバーがphpと通信する方法、の2つを理解することが必要である。 ここではWebサーバーとしてApacheを例にとって説明する。 Apacheが同時に複数のHTTPリクエストを処理する方法2つの方法がある。 (1) スレッドを使用する方法。即ち、1つのHTTPリクエストに1つのスレッドを割り当てる方法。worker MPMと呼ばれる。 (2) プロセスを使用する方法。即ち、1つのHTTPリクエストに1つのプロセスを割り当てる方法。prefork MPMと呼ばれる。 Windows版のApache 2.系は(1)である。つまりマルチスレッド方式である。 ApacheがPHPと通信する方法これも2つの方法がある。 (1) php
![PHPのスレッドセーフ版(TS)とノンスレッドセーフ版(NTS)の違い](https://cdn-ak-scissors.b.st-hatena.com/image/square/08f60058451f5f8e68d478990e29c9ae430f34cd/height=288;version=1;width=512/http%3A%2F%2Fclover.fcg.world%2Fwp-content%2Fthemes%2Fcocoon-master%2Fscreenshot.jpg)