
Swoole의 `swoole_async_readfile()` 함수는 비동기적으로 파일을 읽는 함수입니다. 이 함수는 파일을 읽을 수 없을 때 오류 메시지를 출력하거나 예외를 발생시키지 않습니다.
이러한 현상은 Swoole 버전과 운영 체제에 따라 발생하는 것이 아니며, 내 코드의 문제가 아닙니다.
`swoole_async_readfile()` 함수는 파일을 읽을 수 없을 때 `false`를 반환합니다. 따라서 `$content` 변수는 `false`로 출력됩니다.
오류 메시지를 출력하거나 예외를 발생시키려면, 파일을 읽을 수 없을 때 `swoole_async_readfile()` 함수에 콜백 함수를 등록해야 합니다. 콜백 함수는 파일을 읽을 수 없을 때 오류 메시지를 출력하거나 예외를 발생시킬 수 있습니다.
예를 들어, 다음 코드는 파일을 읽을 수 없을 때 오류 메시지를 출력하는 콜백 함수를 등록합니다.
#hostingforum.kr
php
use SwooleCoroutine;
Coroutine::create(function() {
$filePath = '/path/to/file.txt';
$content = swoole_async_readfile($filePath, function($file, $data) {
if ($data === false) {
echo "파일을 읽을 수 없습니다.n";
} else {
echo $data;
}
});
var_dump($content);
});
이러한 코드를 실행하면, 파일을 읽을 수 없을 때 오류 메시지를 출력합니다.
2025-06-30 09:09