За последние 24 часа нас посетили 64627 программистов и 1746 роботов. Сейчас ищут 1005 программистов ...

Shared Memory: Вылетает Apache на openserver

Тема в разделе "Прочие вопросы по PHP", создана пользователем nikemat, 29 ноя 2015.

  1. nikemat

    nikemat Guest

    хочу использовать shared memory на openserver
    сначала вроде данные писал, а теперь apache вылетает с ошибкой.
    написал функцию, которая должна записывать данные, если переданы, либо читать по pid. либо удалять и перезаписывать, если данные в памяти расходятся с новыми переданными данными с тем же pid.
    что в ней не так?
    Код (PHP):
    1. <?
    2. function memory_s($k,$v,$m=0){
    3. $shm_id = shmop_open(dechex($k*8000), "c", 0644,1024000);
    4. if ($shm_id) {$shm_size = shmop_size($shm_id);
    5. if ($m==2 and !$v) {shmop_delete($shm_id);}
    6. if($v or md5($v)!=md5(memory_s($k,''))){shmop_write($shm_id, $v, 0);}
    7. else{
    8. $my_string = shmop_read($shm_id, 0, $shm_size);
    9. }}
    10. shmop_close($shm_id);
    11. if($my_string){
    12. return $my_string;}
    13. }
    14. ?>
    * интересно, что с небольшими данными она пашет без проблем.