Direct IO
在线手册:中文 英文
PHP手册

Direct IO 函数

Table of Contents


Direct IO
在线手册:中文 英文
PHP手册
PHP手册 - N: Direct IO 函数

用户评论:

abe at siticompulsi dot net (25-Feb-2008 03:15)

(sorry for my English)
http://pecl.php.net/get/dio seems broken at the moment
to get dio extension follow these steps (steps 1.a and 1.b are equivalent):

1.a  get source files using cvs (you may need cvsnt or similar):

     (in shell run)
     cvs -d :pserver:cvsread@cvs.php.net:/repository login
     Password: phpfi
     cvs -d :pserver:cvsread@cvs.php.net:/repository co pecl/dio
     cd pecl/dio/

-- or --

1.b  manually download all files at http://cvs.php.net/cvs.php/pecl/dio clicking on the revision number link
     move to the destination directory

2.   (in shell run)
     phpize (if the system is missing the 'phpize' command see http://php.mirrors.ilisys.com.au/manual/en/install.pecl.phpize.php)
     ./configure --enable-dio --with-php-config=/path/to/php-config (usually /usr/local/php/bin/php-config or /usr/bin/php-config)

     make
     make install (you need root/admin privilegies)

php dot 5 dot gavinostlund at spamgourmet dot com (08-Dec-2007 12:36)

You can manually build the dio extension for your version of PHP, or install an older version of PHP that still bundled dio.  It's not that hard to build it yourself, just a bit of a process, and it helps if you're on linux, and have a build environment... which I would assume you have if you are doing some kind of development that requires direct device I/O...  Just get the dio source from the cvs repo, compile it, and then add the extension to your php configuration...

tom at bitworks dot de (03-Nov-2007 01:41)

to use mandatory locking on a linux system, the filesystem has to be well prepared.

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
/dev/hda1       /               ext3    errors=remount-ro,mand  0       1
/dev/hda2       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/fd0        /floppy         auto    user,noauto             0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0

For example here the ext3 partition has been prepared for mandatory locking. Otherwise no dio_function will work on the system.

richard d_0t cubek a_t example D0_t com (25-Sep-2007 09:13)

IMPORTANT:

--enable-dio is NOT recognized as an option. After reporting a bug, i got following answer:

It is not bundled anymore. See http://pecl.php.net/dio to fetch the CVS version (being unmaintained, there is no release in pecl). Not a bug > bogus.