pub unsafe fn efree(ptr: *mut u8) {
    cfg_if! {
        if #[cfg(php_debug)] {
            #[allow(clippy::used_underscore_items)]
            _efree(
                ptr.cast::<c_void>(),
                std::ptr::null_mut(),
                0,
                std::ptr::null_mut(),
                0,
            )
        } else {
            #[allow(clippy::used_underscore_items)]
            _efree(ptr.cast::<c_void>());
        }
    }
}
Frees a given memory pointer which was allocated through the PHP memory
manager.

# Parameters

* `ptr` - The pointer to the memory to free.

# Safety

Caller must guarantee that the given pointer is valid (aligned and non-null)
and was originally allocated through the Zend memory manager.
src/alloc.rs