Tôi có một đoạn mã PHP có thể được đặt trên hệ thống windows hoặc hệ thống linux. Tôi cần phải chạy các lệnh khác nhau trong cả hai trường hợp.
Làm thế nào tôi có thể phát hiện môi trường tôi đang ở? (tốt nhất là một cái gì đó PHP hơn là hack hệ thống thông minh)
Cập nhật
Để làm rõ, tập lệnh đang chạy từ dòng lệnh.
\strncasecmp(\PHP_OS, 'WIN', 3) === 0
,\strtoupper(\substr(\PHP_OS, 0, 3)) === 'WIN'
và\stripos(\PHP_OS, 'WIN')
là dưới 15%. Vì cả ba giải pháp chỉ mất khoảng 100 nano giây, dù sao đây cũng sẽ là một tối ưu hóa vi mô. Vì vậy, chọn bất cứ giải pháp nào bạn thích. Cuối cùng, bạn có thể lập luận rằng đó\strncasecmp(\PHP_OS, 'WIN', 3) === 0
là dễ đọc nhất.