我有一个PHP脚本,可以放在windows系统或linux系统上.无论哪种情况,我都需要运行不同的命令.

如何检测我所处的环境?(最好是PHP,而不是聪明的系统黑客)

使现代化

为了澄清这一点,脚本是从命令行运行的.

推荐答案

判断PHP_OS constantDocs的值.

它会在Windows上给你不同的值,比如WIN32WINNTWindows.

另见:Possible Values For: PHP_OSphp_unameDocs:

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

Php相关问答推荐

此行动未经授权.升级Laravel时

自定义通知在Woocommerce我的帐户自定义端点页面上不起作用

wp_enqueue_scripts not loading(基于类的插件)

如何将对我的域的请求重定向到子文件夹中的索引,同时保留域URL并使用.htaccess?

如何保存基于用户 Select 的复选框 Select 模式

如何在WordPress REST API中判断应用程序密码

强制客户在注册时 Select WooCommerce角色

如何使用 PHP 将带有图像的文本上传到 Linkedin?

如何在 Laravel 迁移中使用日期时间和天数?

如何在 Phpunit 的静态提供程序中创建测试双打?

通过存储库检索 Blade 上的单值数据 出错

使用现有的htaccess的PHP路由脚本

在 Botiga 主题模板中添加复选框到政策行.Woocommerce

Shopware 6.4.20店铺激活问题

WooCommerce - 调用功能ID不正确.不应直接访问订单属性

使用 PHP 正则表达式从仅包含具有现有顺序的顶级标签的 XML 文档中搜索和创建数组

Laravel 10 单元测试看不到来自 Artisan Command 的数据库更改

为什么 ECDSA 384 签名验证在 GO 中失败,但在 PHP 中却没有?

在 DomPDF 和 Laravel 中使用内联 css

使用 PHP 有条件地使用关键字 Twilio Programmable SMS