函数列表
优质
小牛编辑
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重命名各个进程名称
- onStart调用时修改主进程名称
- onManagerStart调用时修改管理进程(
manager
)的名称 - onWorkerStart调用时修改worker进程名称
!> 低版本Linux内核和Mac OSX不支持进程重命名
swoole_strerror()
将错误码转换成错误信息。
函数原型:
string swoole_strerror(int $errno, int $error_type = 1);
错误类型:
1
:标准的Unix Errno
,由系统调用错误产生,如EAGAIN
、ETIMEDOUT
等2
:getaddrinfo
错误码,由DNS
操作产生9
:Swoole
底层错误码,使用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_client
和swoole_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错误码列表