# POSIX Functions

## Introduction

This module contains an interface to those functions defined in the IEEE 1003.1 (POSIX.1) standards document which are not accessible through other means. POSIX.1 for example defined the open(), read(), write() and close() functions, too, which traditionally have been part of PHP 3 for a long time. Some more system specific functions have not been available before, though, and this module tries to remedy this by providing easy access to these functions.

Warning

Sensitive data can be retrieved with the POSIX functions, e.g. posix_getpwnam() and friends. None of the POSIX function perform any kind of access checking when safe mode is enabled. It's therefore strongly advised to disable the POSIX extension at all (use --disable-posix in your configure line) if you're operating in such an environment.

> Note: This extension is not available on Windows platforms.

## Installation

POSIX functions are enabled by default. You can disable POSIX-like functions with --disable-posix.

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`POSIX_F_OK` (integer)
  Check whether the file exists.
`POSIX_R_OK` (integer)
  Check whether the file exists and has read permissions.
`POSIX_W_OK` (integer)
  Check whether the file exists and has write permissions.
`POSIX_X_OK` (integer)
  Check whether the file exists and has execute permissions.
`POSIX_S_IFBLK` (integer)
  Block special file
`POSIX_S_IFCHR` (integer)
  Character special file
`POSIX_S_IFIFO` (integer)
  FIFO (named pipe) special file
`POSIX_S_IFREG` (integer)
  Normal file
`POSIX_S_IFSOCK` (integer)
  Socket

> Note: These constants are available since PHP 5.1.0. Please also note that some of them may not be available in your system.

## See Also

The section about Process Control Functions maybe of interest for you.

## Table of Contents

- posix_access — Determine accessibility of a file
- posix_ctermid — Get path name of controlling terminal
- posix_get_last_error — Retrieve the error number set by the last posix function that failed
- posix_getcwd — Pathname of current directory
- posix_getegid — Return the effective group ID of the current process
- posix_geteuid — Return the effective user ID of the current process
- posix_getgid — Return the real group ID of the current process
- posix_getgrgid — Return info about a group by group id
- posix_getgrnam — Return info about a group by name
- posix_getgroups — Return the group set of the current process
- posix_getlogin — Return login name
- posix_getpgid — Get process group id for job control
- posix_getpgrp — Return the current process group identifier
- posix_getpid — Return the current process identifier
- posix_getppid — Return the parent process identifier
- posix_getpwnam — Return info about a user by username
- posix_getpwuid — Return info about a user by user id
- posix_getrlimit — Return info about system resource limits
- posix_getsid — Get the current sid of the process
- posix_getuid — Return the real user ID of the current process
- posix_initgroups — Calculate the group access list
- posix_isatty — Determine if a file descriptor is an interactive terminal
- posix_kill — Send a signal to a process
- posix_mkfifo — Create a fifo special file (a named pipe)
- posix_mknod — Create a special or ordinary file (POSIX.1)
- posix_setegid — Set the effective GID of the current process
- posix_seteuid — Set the effective UID of the current process
- posix_setgid — Set the GID of the current process
- posix_setpgid — Set process group id for job control
- posix_setsid — Make the current process a session leader
- posix_setuid — Set the UID of the current process
- posix_strerror — Retrieve the system error message associated with the given errno
- posix_times — Get process times
- posix_ttyname — Determine terminal device name
- posix_uname — Get system name