— Создавање PostScript документи
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
— Создавање PostScript документи
Референца за `book.eio.php` со подобрена типографија и навигација.
— Создавање PostScript документи
Вовед
Оваа екстензија обезбедува асинхрона POSIX I/O преку Овој екстензија обезбедува асинхроно POSIX I/O преку » libeio
Забелешка: Овој екстензија не е достапен на Windows платформи.
C библиотека напишана од Марк Леман.
Важно е да се знае дека секое барање се извршува во нишка, а редоследот на извршување на континуирано поставените барања во основа е непредвидлив. На пример, следниот код е некоректен.
<?php
// Request to create symlink of $filename to $link
eio_symlink($filename, $link);
// Request to move $filename to $new_filename
eio_rename($filename, $new_filename);
// Process requests
eio_event_loop();
?>во callback на
<?php
function my_symlink_done($filename, $result) {
// Request to move $filename to $new_filename
eio_rename($filename, "/path/to/new-name");
// Process requests
eio_event_loop();
}
// Request to create symlink of $filename to $link
eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_done", $filename);
// Process requests
eio_event_loop();
?>Алтернативно, можеби ќе сакате да креирате група за барања:
<?php
/* Is called when the group requests are done */
function my_grp_done($data, $result) {
// ...
}
function my_symlink_done($filename, $result) {
// Create eio_rename request and add it to the group
$req = eio_rename($filename, "/path/to/new-name");
eio_grp_add($grp, $req);
// You might want to add more requests...
}
// Create a request group
$grp = eio_grp("my_grp_done", "my_grp_data");
// Create eio_symlink request and add it to the group
// Pass $filename to the callback
$req = eio_symlink($filename, $link,
EIO_PRI_DEFAULT, "my_symlink_done", $filename);
eio_grp_add($grp, $req);
// Process requests
eio_event_loop();
?>барања. Ова може да се користи за креирање комплексно барање што отвора, чита и затвора датотека. eio_get_event_stream()Од верзија 0.3.0 алфа, променлива што се користи во комуникациите со libeio внатрешно, може да се добие со
. Променливата може да се користи за поврзување со циклус на настани поддржан од некоја друга екстензија. Може да организирате едноставен циклус на настани каде што eio и libevent работат заедно:
<?php
function my_eio_poll($fd, $events, $arg) {
/* Some libevent regulation might go here .. */
if (eio_nreqs()) {
eio_poll();
}
/* .. and here */
}
function my_res_cb($d, $r) {
var_dump($r); var_dump($d);
}
$base = event_base_new();
$event = event_new();
// This stream is used to bind with libevent
$fd = eio_get_event_stream();
eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */
// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));
// set event base
event_base_set($event, $base);
// enable event
event_add($event);
// start event loop
event_base_loop($base);
/* The same will be available via buffered libevent interface */
?>- Installing/Configuring
- Претходно дефинирани константи
- Примери
- Eio функции
- eio_busy Пример #4 Користење eio со libevent
- eio_cancel — Вештачки зголемување на оптоварувањето. Може да биде корисно во тестови, бенчмаркинг
- eio_chmod — Откажува барање
- eio_chown — Откажува барање
- eio_close — Затвори датотека
- eio_custom — Затвори датотека
- eio_dup2 — Изврши прилагодено барање како и секој друг eio_* повик
- eio_event_loop — Дуплирај дескриптор на датотека
- eio_fallocate — Анкетирај го libeio додека сите барања не бидат обработени
- eio_fchmod — Овозможува повикувачот директно да управува со распределениот простор на дискот за датотека
- eio_fchown — Промени ги дозволите на датотеката
- eio_fdatasync — Промени ја сопственоста на датотеката
- eio_fstat — Синхронизирај ја состојбата на датотеката во меморијата со уредот за складирање
- eio_fstatvfs — Земи статус на датотека
- eio_fsync — Промени ја сопственоста на датотеката
- eio_ftruncate — Земи статистика на датотечниот систем
- eio_futime — Скрати датотека
- eio_get_event_stream — Промени ги времето на последен пристап и модификација на датотеката
- eio_get_last_error — Земи стрим што претставува променлива што се користи во внатрешна комуникација со libeio
- eio_grp — Враќа стринг што го опишува последното грешка поврзана со ресурс за барање
- eio_grp_add — Создава група за барања
- eio_grp_cancel — Додава барање во групата за барања
- eio_grp_limit — Откажува група за барања
- eio_init — Постави граница на групата
- eio_link — (Повторно) иницијализирај го Eio
- eio_lstat — Синхронизирај ја состојбата на датотеката во меморијата со уредот за складирање
- eio_mkdir — Креирај директориум
- eio_mknod — Креирај специјална или обична датотека
- eio_nop — Не прави ништо, освен што поминува низ целиот циклус на барање
- eio_npending — Враќа број на завршени, но нетретирани барања
- eio_nready — Враќа број на барања што сè уште не се обработени
- eio_nreqs — Враќа број на барања што треба да се обработат
- eio_nthreads — Враќа број на нишки што се користат во моментов
- eio_open — Отвора датотека
- eio_poll — Може да се повика секогаш кога има барања на чекање што треба да се завршат
- eio_read — Читај од дескриптор на датотека на даден офсет
- eio_readahead — Изврши претходно читање на датотеката во кешот на страници
- eio_readdir — Чита низ цел директориум
- eio_readlink — Читај вредност на симболичка врска
- eio_realpath — Земи го канонизираниот апсолутен патека
- eio_rename — Промени го името или локацијата на датотека
- eio_rmdir — Преименувај далечинска датотека
- eio_seek — Помести се на позиција
- eio_sendfile — Префрли податоци помеѓу дескриптори на датотеки
- eio_set_max_idle — Постави максимален број на неактивни нишки
- eio_set_max_parallel — Постави максимален број на паралелни нишки
- eio_set_max_poll_reqs — Постави максимален број на барања обработени во анкета
- eio_set_max_poll_time — Постави максимално време на анкетирање
- eio_set_min_parallel — Постави максимално време за гласање
- eio_stat — Синхронизирај ја состојбата на датотеката во меморијата со уредот за складирање
- eio_statvfs — Земи статус на датотека
- eio_symlink — Постави минимален број паралелни нишки
- eio_sync — Креирај симболична врска
- eio_sync_file_range — Зачувај кеш на баферот на диск
- eio_syncfs — Синхронизирај сегмент од датотека со диск
- eio_truncate — Земи статистика на датотечниот систем
- eio_unlink — Ги повикува Linux syncfs системскиот повик, ако е достапен
- eio_utime — Скрати датотека
- eio_write — Избриши име и можно е датотеката на која се однесува