Eu tenho um script PHP que pode ser colocado em um sistema Windows ou Linux. Eu preciso executar comandos diferentes em ambos os casos.
Como posso detectar em que ambiente estou? (de preferência algo PHP em vez de hacks inteligentes do sistema)
Atualizar
Para esclarecer, o script está sendo executado na linha de comando.
\strncasecmp(\PHP_OS, 'WIN', 3) === 0
,\strtoupper(\substr(\PHP_OS, 0, 3)) === 'WIN'
e\stripos(\PHP_OS, 'WIN')
estão abaixo de 15%. Como as três soluções levam apenas cerca de 100 nanossegundos, isso seria uma micro otimização. Portanto, escolha a solução que desejar. Finalmente, você pode argumentar que\strncasecmp(\PHP_OS, 'WIN', 3) === 0
é o mais legível.