gpt4 book ai didi

Ubuntu 上的 PHP Ping

转载 作者:太空宇宙 更新时间:2023-11-03 17:01:25 25 4
gpt4 key购买 nike

我在让 PHP ping 本地计算机时遇到问题。我只想检查计算机是否处于唤醒状态。

我见过很多在搜索时执行 ping 操作的方法,但似乎没有一种对我有用。我相信这是因为在 Ubuntu 上,ping 需要 root 权限,而 PHP 没有。大多数示例使用某种形式的

exec("ping ".$ip);

但任何方法对我来说都可以。有什么想法吗?

最佳答案

在我的 Ubuntu 系统上,命令 ls -l/bin/ping 显示:

-rwsr-xr-x 1 root root 34716 2010-11-15 09:08 /bin/ping

这意味着虽然“ping”为root所有,但所有用户都可以执行。
您应该尝试使用以下 PHP 代码:

<html>
<body>
<pre>
<?php
$result = exec("/bin/ping -c 1 -W 1 127.0.0.1");
echo "result=".$result."\n";
?>
</pre>
</body>
</html>

显然,您应该将“127.0.0.1”替换为您网络的有效 IP 地址。
-c 1 选项在发送一个数据包后停止 ping,如 manual page 中所述。 :

-c count
Stop after sending count ECHO_REQUEST packets.
With deadline option, ping waits for count ECHO_REPLY packets, until the timeout expires.

-W 1 选项强制 ping 在一秒后没有收到响应时停止:

-W timeout
Time to wait for a response, in seconds.
The option affects only timeout in absense of any responses, otherwise ping waits for two RTTs.

关于Ubuntu 上的 PHP Ping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12079682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com