当前位置: 首页 > 文档资料 > Swoole 中文文档 >

函数列表

优质
小牛编辑
138浏览
2023-12-01

Swoole 除了网络通信相关的函数外,还提供了一些获取系统信息的函数供PHP程序使用。

swoole_set_process_name()

用于设置进程的名称。修改进程名称后,通过ps命令看到的将不再是php your_file.php,而是设定的字符串。

此函数接受一个字符串参数。

此函数与PHP5.5提供的cli_set_process_title功能是相同的。但swoole_set_process_name可用于PHP5.2之上的任意版本。swoole_set_process_name兼容性比cli_set_process_title要差,如果存在cli_set_process_title函数则优先使用cli_set_process_title

void swoole_set_process_name(string $name);

使用示例:

swoole_set_process_name("swoole server");

如何为Swoole Server重命名各个进程名称

!> 低版本Linux内核和Mac OSX不支持进程重命名

swoole_strerror()

将错误码转换成错误信息。

函数原型:

string swoole_strerror(int $errno, int $error_type = 1);

错误类型:

  • 1:标准的Unix Errno,由系统调用错误产生,如EAGAINETIMEDOUT
  • 2getaddrinfo错误码,由DNS操作产生
  • 9Swoole底层错误码,使用swoole_last_error()得到

使用示例:

var_dump(swoole_strerror(swoole_last_error(), 9));

swoole_version()

获取swoole扩展的版本号,如1.6.10

string swoole_version();

使用示例:

var_dump(SWOOLE_VERSION); //全局变量SWOOLE_VERSION同样表示swoole扩展版本
var_dump(swoole_version());
/**
返回值:
string(6) "1.9.23"
string(6) "1.9.23"
**/

swoole_errno()

获取最近一次系统调用的错误码,等同于C/C++errno变量。

int swoole_errno();

错误码的值与操作系统有关。可使用swoole_strerror将错误转换为错误信息。

swoole_get_local_ip()

此函数用于获取本机所有网络接口的IP地址

函数原型:

array swoole_get_local_ip();

返回当前机器的所有网络接口的IP地址

使用示例:

<?php
// 获取本机所有网络接口的IP地址
$list = swoole_get_local_ip();
print_r($list);
/**
返回值
Array
(
      [eno1] => 10.10.28.228
      [br-1e72ecd47449] => 172.20.0.1
      [docker0] => 172.17.0.1
)
**/

!>注意

  • 目前只返回IPv4地址,返回结果会过滤掉本地loop地址127.0.0.1。
  • 结果数组是以interface名称为key的关联数组。比如 array("eth0" => "192.168.1.100")
  • 此函数会实时调用ioctl系统调用获取接口信息,底层无缓存

swoole_clear_dns_cache()

清除swoole内置的DNS缓存,对swoole_clientswoole_async_dns_lookup有效。

function swoole_clear_dns_cache();

swoole_get_local_mac()

获取本机网卡Mac地址。

function swoole_get_local_mac() : array;
  • 调用成功返回所有网卡的Mac地址
array(4) {
  ["lo"]=>
  string(17) "00:00:00:00:00:00"
  ["eno1"]=>
  string(17) "64:00:6A:65:51:32"
  ["docker0"]=>
  string(17) "02:42:21:9B:12:05"
  ["vboxnet0"]=>
  string(17) "0A:00:27:00:00:00"
}

swoole_cpu_num()

获取本机CPU核数

function swoole_cpu_num() : int;
  • 调用成功返回CPU核数,例如:
4

swoole_last_error()

获取最近一次Swoole底层的错误码。

int swoole_last_error();

可使用swoole_strerror(swoole_last_error(), 9)将错误转换为错误信息, 完整错误信息列表看 Swoole错误码列表