函式名:eio_mknod()
適用版本:eio_mknod() 函式在 PHP 7.2.0 及之後的版本可用。
用法:eio_mknod() 函式用於非同步建立一個裝置節點(即檔案系統中的特殊檔案)。此函式在執行時會立即返回。
語法: eio_mknod(string $path, int $mode, int $dev, int $pri = EIO_PRI_DEFAULT, callable $callback = NULL, mixed $data = NULL)
引數:
- $path (必需):要建立裝置節點的路徑。
- $mode (必需):裝置節點的許可權模式,使用八進位制表示。
- $dev (必需):裝置型別和編號。
- $pri (可選):表示請求的優先順序,可以是以下常量之一:EIO_PRI_DEFAULT,EIO_PRI_MIN,EIO_PRI_MAX。
- $callback (可選):設定操作完成後要呼叫的回撥函式。
- $data (可選):用於回撥函式的使用者自定義資料。
返回值: 在函式成功執行時返回 TRUE,否則返回 FALSE。
示例: 下面的示例演示瞭如何使用 eio_mknod() 函式非同步建立一個裝置節點。
<?php
function my_mknod_callback($data, $result)
{
if ($result === 0) {
echo "裝置節點建立成功!";
} else {
echo "裝置節點建立失敗!";
}
}
$path = '/dev/mydevice'; // 裝置節點路徑
$mode = 0600; // 許可權模式(八進位制表示)
$dev = 0x1234; // 裝置型別和編號
eio_mknod($path, $mode, $dev, EIO_PRI_DEFAULT, 'my_mknod_callback');
eio_event_loop(); // 啟動事件迴圈
?>
請注意,為了使非同步函式呼叫正常工作,需要透過 eio_event_loop() 函式啟動一個事件迴圈。在事件迴圈期間,系統會處理非同步 I/O 操作,並在完成時呼叫相應的回撥函式。