
SwooleMmap::open 함수를 사용하여 파일을 메모리에 매핑할 때, 파일의 크기가 변경되면 메모리에 매핑된 파일의 크기도 변경됩니다. 하지만 메모리에 매핑된 파일을 변경하면 원본 파일도 변경되지 않습니다.
이유는 SwooleMmap::open 함수가 파일을 읽기 전용으로 메모리에 매핑하기 때문입니다. 따라서 메모리에 매핑된 파일을 변경하려면 SwooleMmap::open 함수를 다시 호출하여 파일을 읽기 전용으로 메모리에 매핑해야 합니다.
또한, 메모리에 매핑된 파일을 변경하면 메모리에 매핑된 파일의 내용이 변경됩니다. 하지만 원본 파일은 변경되지 않습니다.
따라서 메모리에 매핑된 파일을 변경하려면 메모리에 매핑된 파일의 내용을 원본 파일에 반영해야 합니다.
예를 들어, 다음과 같이 메모리에 매핑된 파일을 변경하고 원본 파일에 반영할 수 있습니다.
#hostingforum.kr
php
$mmap = SwooleMmap::open('/path/to/file', SwooleMmap::READ_ONLY);
// 메모리에 매핑된 파일을 변경
$mmap->write('변경된 내용');
// 원본 파일에 반영
file_put_contents('/path/to/file', $mmap->read());
위의 예제에서는 메모리에 매핑된 파일을 변경하고 원본 파일에 반영하는 방법을 보여줍니다.
2025-05-19 16:46