$shmr = shmop_read($shm_id, 0, 0);
El último parámetro es la cantidad de bytes a leer, por ahí podría estar el fallo.
Si quieres hacer la prueba más extensa y luego ir simplificando/adaptando a tus necesidades, puedes basarte en el ejemplo del manual:
http://www.php.net/manual/es/shmop.examples-basic.php