라이브러리

[PHP] posix_errno - posix_get_last_error의 별칭




POSIX errno

POSIX errno는 POSIX (Portable Operating System Interface) 표준에 따라 정의된 오류 코드입니다. POSIX errno는 시스템 호출의 오류를 나타내는 데 사용됩니다. PHP에서 POSIX errno는 `posix_errno()` 함수를 사용하여 접근할 수 있습니다.

POSIX errno의 종류

POSIX errno에는 총 33개의 오류 코드가 정의되어 있습니다. 여기에는 다음과 같은 오류 코드가 포함됩니다.

* `ECHILD`: 자식 프로세스가 존재하지 않음
* `EACCES`: 권한이 없음
* `EAGAIN`: 시스템 리소스가 부족함
* `EBADF`: 잘못된 파일 디스크립터
* `EBUSY`: 시스템이忙함
* `ECANCELED`: 작업이 취소됨
* `ECHILD`: 자식 프로세스가 존재하지 않음
* `EDEADLK`: 데드락이 발생함
* `EEXIST`: 파일이 이미 존재함
* `EFAULT`: 잘못된 주소
* `EFBIG`: 파일 크기가 너무 큼
* `EINTR`: 인터럽트 발생함
* `EINVAL`: 잘못된 인자
* `EIO`: 입출력 오류
* `EISDIR`: 디렉토리
* `EMFILE`: 열린 파일의 최대 개수 초과
* `ENAMETOOLONG`: 파일 이름이 너무 길음
* `ENFILE`: 열린 파일의 최대 개수 초과
* `ENOENT`: 파일이 존재하지 않음
* `ENOMEM`: 메모리가 부족함
* `ENOTDIR`: 디렉토리가 아님
* `ENOTEMPTY`: 디렉토리가 비어있지 않음
* `ENOTTY`: 잘못된 장치
* `ENXIO`: 장치가 존재하지 않음
* `EOPNOTSUPP`: 지원하지 않는 기능
* `EOVERFLOW`: 오버플로 발생함
* `EPERM`: 권한이 없음
* `EPIPE`: 파이프가 닫혀있음
* `ERANGE`: 범위 초과
* `EROFS`: 읽기/쓰기 불가
* `ESPIPE`: 파이프가 닫혀있음
* `ETIMEDOUT`: 시간 초과
* `EXDEV`: 파일이 다른 장치에 존재함

PHP에서 POSIX errno 사용하기

PHP에서 POSIX errno를 사용하려면 `posix_errno()` 함수를 사용하면 됩니다. 이 함수는 시스템 호출의 오류 코드를 반환합니다.

#hostingforum.kr
php

$errno = posix_errno();

echo "errno: $errno
";



switch ($errno) {

    case ECHILD:

        echo "ECHILD: 자식 프로세스가 존재하지 않음
";

        break;

    case EACCES:

        echo "EACCES: 권한이 없음
";

        break;

    default:

        echo "unknown errno: $errno
";

        break;

}



예제

다음 예제에서는 `posix_errno()` 함수를 사용하여 시스템 호출의 오류 코드를 확인하는 방법을 보여줍니다.

#hostingforum.kr
php

// 파일을 생성하고 읽기/쓰기 권한을 설정합니다.

$fd = fopen("test.txt", "w");

if ($fd === false) {

    $errno = posix_errno();

    echo "errno: $errno
";

    switch ($errno) {

        case EACCES:

            echo "EACCES: 권한이 없음
";

            break;

        default:

            echo "unknown errno: $errno
";

            break;

    }

    exit;

}



// 파일에 내용을 쓰고 읽습니다.

fwrite($fd, "Hello, World!");

fseek($fd, 0);

echo fread($fd, 1024);



// 파일을 닫습니다.

fclose($fd);



// 파일을 삭제합니다.

unlink("test.txt");



이 예제에서는 `posix_errno()` 함수를 사용하여 시스템 호출의 오류 코드를 확인하고, 오류 코드에 따라 적절한 메시지를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 318 페이지

검색

게시물 검색