PHP 脚本 - 确定它是否有效 linux 或者 Windows?
我有一个脚本 PHP, 可以放在系统中 windows 或系统 linux. 在任何情况下,我都需要执行不同的命令。
我如何确定我的环境? /最好是什么 PHP, 不是智能系统卡其色/
更新
阐明脚本从命令行运行。
我如何确定我的环境? /最好是什么 PHP, 不是智能系统卡其色/
更新
阐明脚本从命令行运行。
没有找到相关结果
已邀请:
14 个回复
快网
赞同来自:
http://php.net/manual/reserved ... hp-os
.
他会给你各种价值观 Windows, 如那个
,
或者
.
也可以看看:
https://coderoad.ru/738823/
和
http://php.net/php_uname
:
君笑尘
赞同来自:
/为了 unix/linux/mac/ 或者
在 windows. 常量名称
.
风见雨下
赞同来自:
看来它比接受的反应更优雅。 但是,上述了检测 DIRECTORY_SEPARATOR 这是最快的。
江南孤鹜
赞同来自:
http://php.net/manual/en/function.php-uname.php
PHP, 什么不一定是一样的 OS, 它目前工作。
如果你正在进行中 PHP >= 5.3 而且你只需要知道你是否工作 Windows 或者没有窗口,然后检查一个吗?
http://php.net/manual/en/info.constants.php
, 可能是一个良好的选择,例如:
涵秋
赞同来自:
http://php.net/manual/en/function.php-uname.php
可用于检测它。
江南孤鹜
赞同来自:
http://nl3.php.net/manual/en/r ... 13172
Volker'S 和 rdcapasso solution, 您可以简单地创建辅助类,如下所示:
使用
:
</div
<div class="answer_text">
它应该工作 PHP 4.3+:
</div>
<div class="answer_text">
以。。。开始 PHP 7.2.0, 你可以检测一个工作 O.S. 使用常数
:
厘米。
https://www.php.net/manual/res ... amily
PHP 为其可能的值。
</div>
<div class="answer_text">
主要预定义常量:
http://us3.php.net/manual/en/r ... s.php
有永久性的
.
或者如果你想检测到 OS 客户:
From
http://us3.php.net/manual/en/f ... r.php
按照您的编辑,您可以参考此复制。 PHP
https://coderoad.ru/626416/
您可以使用
string php_uname /[ string $mode = "a" ] /
所以
's': 操作系统的名称。
FreeBSD.
它会为你做一个伎俩,在这里看到
http://php.net/manual/en/function.php-uname.php
</div>
<div class="answer_text">
确定是否是 Windows, OS X 或者 Linux:
比慢于
在这个特殊的情况下,这对于这么小的任务和更优雅来说非常有效。
</div>
<div class="answer_text">
您可以检查是否存在常量 PHP >5.3.0 /
http://php.net/manual/en/info.constants.php
/
以前,使用该方法 Symfony. 现在他们使用
https://github.com/symfony/sym ... b554c
:
</div>
<div class="answer_text">
如果您想检查它是否有效 Linux, 只需检查它是否有效
. 无需使用 strtolower// 和 substr//.
</div>
<div class="answer_text">
</div>
<div class="answer_text">
经过
http://www.php.net/manual/en/r ... 02162
:
这是全部大量的 $_SERVER... 如所知) ArtWorkAD, 使用钥匙 HTTP_USER_AGENT, 你可以删除 OS 更清楚。
</div>
八刀丁二
赞同来自:
小姐请别说爱
赞同来自:
:
厘米。
https://www.php.net/manual/res ... amily
PHP 为其可能的值。
快网
赞同来自:
http://us3.php.net/manual/en/r ... s.php
有永久性的
.
或者如果你想检测到 OS 客户:
From
http://us3.php.net/manual/en/f ... r.php
按照您的编辑,您可以参考此复制。 PHP
https://coderoad.ru/626416/
您可以使用
string php_uname /[ string $mode = "a" ] /
所以
's': 操作系统的名称。
FreeBSD.
它会为你做一个伎俩,在这里看到
http://php.net/manual/en/function.php-uname.php
风见雨下
赞同来自:
比慢于
在这个特殊的情况下,这对于这么小的任务和更优雅来说非常有效。
裸奔
赞同来自:
http://php.net/manual/en/info.constants.php
/
以前,使用该方法 Symfony. 现在他们使用
https://github.com/symfony/sym ... b554c
:
诸葛浮云
赞同来自:
. 无需使用 strtolower// 和 substr//.
帅驴
赞同来自:
小明明
赞同来自:
http://www.php.net/manual/en/r ... 02162
:
这是全部大量的 $_SERVER... 如所知) ArtWorkAD, 使用钥匙 HTTP_USER_AGENT, 你可以删除 OS 更清楚。