【发布时间】:2011-08-18 06:05:27
【问题描述】:
我有一个 PHP 脚本,可以放在 windows 系统或 linux 系统上。无论哪种情况,我都需要运行不同的命令。
如何检测我所处的环境? (最好是 PHP 而不是聪明的系统黑客)
更新
为了澄清,脚本是从命令行运行的。
【问题讨论】:
-
执行基准测试后,
\strncasecmp(\PHP_OS, 'WIN', 3) === 0、\strtoupper(\substr(\PHP_OS, 0, 3)) === 'WIN'和\stripos(\PHP_OS, 'WIN')之间的性能差异似乎低于 15%。由于所有三种解决方案只需要大约 100 纳秒,无论如何这将是一个微优化。所以选择你喜欢的任何解决方案。最后,你可能会争辩说\strncasecmp(\PHP_OS, 'WIN', 3) === 0是最易读的。
标签: php windows linux operating-system detect