Как читать карту в веб-приложении php, написанном с использованием Boost C ++ (в общей области)?

Я написал одну карту (ключ, значение), используя C ++, Boost library в общей области.

void CreateIndexMap() { shared_memory_object::remove(Getsharedmemoryregion()); managed_shared_memory segment(create_only,Getsharedmemoryregion(), 10000000); void_allocator alloc_inst (segment.get_segment_manager()); complex_map_type *mymap = segment.construct<complex_map_type>("MyMap")(std::less<char_string>(), alloc_inst); } 

Создание карты памяти в общей области:

 void UpdateIndexMap(std::string str, std::string index, const char* SharedMemory) { managed_shared_memory segment(open_only,SharedMemory); void_allocator alloc_inst (segment.get_segment_manager()); complex_map_type *mymap = segment.find<complex_map_type>("MyMap").first; std::string h = ConvertTolowercase(str); char_string patternvalue(h.c_str(), alloc_inst); char_string indexvalue((index).c_str(), alloc_inst); mymap->insert(std::pair<char_string, char_string>(patternvalue,indexvalue)); } 

Теперь я разрабатываю одно веб-приложение с использованием PHP и хочу читать карту в общей области для получения данных. Как его реализовать?

Ах, просто заметил, что другой вопрос был и вам.

Вы действительно не хотите усложнять этот вопрос, пытаясь встроить C ++-код непосредственно в PHP.

Нам будет гораздо проще узнать, почему дочерний процесс, порожденный с PHP-страницы, не позволяет вам получать доступ к общей памяти. В худшем возможном случае сделайте процесс очень безопасным и просто вызовите setuid чтобы заставить его выдавать себя за определенного пользователя (при условии, что хост UNIX-приправленный). Не устанавливайте root (это безопасность no-no).