(PECL eio >= 0.0.1dev)
eio_open — Abrir un fichero
$path
   , int $flags
   , int $mode
   , int $pri
   , callable $callback
   [, mixed $data = NULL
  ] ) : resource
   eio_open() abre el archivo especificado por
   path en el modo de acceso mode con
  
pathRuta del archivo a abrir.
En algunas SAPIs (p.ej. PHP-FPM) podría fallar si no se especifica la ruta completa.
flagsUna de las constantes EIO_O_*, o sus
      combinaciones. Las constantes EIO_O_* tienen el mismo
      significado que sus correspondientes homónimas O_*
      definidas en el fichero de cabecera C fnctl.h. Por defecto es
      EIO_O_RDWR.
     
modeUna de las constantes EIO_S_I*, o sus combinaciones (mediante el operador a nivel de bits OR). Las constantes tienen el mismo significado que sus homónimas S_I* definidas en el archivo de cabecera C » sys/stat.h. Necesario si se crea un fichero. En otro caso es ignorado.
priLa prioridad de petición: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, o NULL.
Si se pasa NULL, pri es establecido internamente a
EIO_PRI_DEFAULT.
callback
La función callback es llamada cuando la petición está hecha.
Debería seguir el siguiente prototipo: 
void callback(mixed $data, int $result[, resource $req]);
datason datos personalizados pasados a la petición.
resultes el valor del resultado específico de la petición; básicamente, el valor devuelto por la correspondiente llamada al sistema.
reqes el recurso de petición opcional que puede usarse con funciones como eio_get_last_error()
data
      Variable arbitraria pasada a callback.
     
   eio_open() devuelve un descriptor de fichero en
   el argumento result de callback
   en caso de éxito; de otro modo, result es igual a -1.
  
Ejemplo #1 Ejemplo de eio_open()
<?php
$nombre_fichero_temp = "eio-fichero-temp.tmp";
/* Se llama cuando eio_close() finaliza */
function my_close_cb($datos, $resultado) {
 // Cero indica éxito
    var_dump($resultado == 0);
 @unlink($datos);
}
/* Se llama cuando eio_open() finaliza */
function mi_llamada_retorno_fichero_abierto($datos, $resultado) {
 // $resultado debería contener el descriptor de fichero
    var_dump($resultado > 0);
    if ($resultado > 0) {
  // Cerrar el fichero
        eio_close($resultado, EIO_PRI_DEFAULT, "my_close_cb", $datos);
        eio_event_loop();
    }
}
// Crear un nuevo fichero para lectura y escritura
// Denegar al grupo y a otros realizar cualquier cosa con ese fichero
eio_open($nombre_fichero_temp, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
  EIO_PRI_DEFAULT, "mi_llamada_retorno_fichero_abierto", $nombre_fichero_temp);
eio_event_loop();
?>
El resultado del ejemplo sería algo similar a:
bool(true) bool(true)