라이브러리
[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()` 함수를 사용하여 시스템 호출의 오류 코드를 확인하고, 오류 코드에 따라 적절한 메시지를 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.