Ao fazer o download do PHP, frequentemente vejo a opção de escolher entre versões “thread safe” e “non-thread safe”. No entanto, estou um pouco confuso sobre o que isso significa em termos práticos. Alguém poderia me explicar o que exatamente é o thread safety e como isso afeta a escolha da versão do PHP que devo baixar?
Quando se trata de baixar o PHP, a opção de escolher entre versões “thread safe” e “non-thread safe” refere-se à capacidade do binário do PHP funcionar de maneira segura em ambientes de servidor web multithread, como o Apache 2 no Windows.
O termo “thread safety” (segurança de threads) indica que o binário do PHP pode ser executado em um contexto em que vários threads estão sendo executados simultaneamente, como acontece em servidores web que suportam várias conexões de clientes ao mesmo tempo. Por exemplo, o Apache 2 no Windows é um servidor web que opera em um ambiente multithread, onde cada solicitação do cliente é tratada por um thread separado. O thread safety garante que cada thread tenha sua própria cópia local dos dados, evitando conflitos de dados entre as threads.
A escolha entre as versões “thread safe” e “non-thread safe” depende do ambiente em que você pretende executar o PHP. Se você planeja usar o PHP como binário CGI, não há necessidade de optar pelo thread safe, já que o binário é chamado a cada requisição individual e não há concorrência de threads. Por outro lado, se você planeja usar servidores web multithread, como o IIS5 e IIS6, é recomendável escolher a versão thread safe para garantir que o PHP funcione corretamente em um ambiente com várias threads.
Portanto, ao escolher entre as versões do PHP, leve em consideração o ambiente de servidor web que você está utilizando e opte pela versão que melhor se adequa a esse ambiente.