Introduzione
Shmop č un set di funzioni di semplice utilizzo che permettono al PHP di leggere,
scrivere, creare e cancellare i segmenti di memoria condivisa di Unix. Occorre rilevare
che nelle versioni di Windows precedenti a Windows 2000 non supportano la memoria condivisa.
In Windows, le funzioni Shmop sono eseguilbili solo se il PHP sta girando in modalitą ISAPI, tipo
con Apache o ISS (nelle modalitą CLI o CGI non č utilizzabile).
Nota:
Nella versione 4.0.3 di PHP queste funzioni hanno il prefisso shm
anzichč shmop.
Requisiti
Non sono necessarie librerie esterne per utilizzare questo modulo.
Installazione
Per utilizzare shmop occorre compilare il PHP con il parametro
--enable-shmop
nella linea di configurazione.
Configurazione di Runtime
Questa estensione non definisce
alcuna direttiva di configurazione in php.ini
Costanti predefinite
Questa estensione non definisce alcuna costante.
Esempi
Esempio 1. Descrizione delle operazioni con la memoria condivisa
<?php // Crea un blocco di memoria condivisa di 100 byte con id 0xff3 $shm_id = shmop_open(0xff3, "c", 0644, 100); if (!$shm_id) { echo "Non si riesce a creare il segmento di memoria condivisa\n"; }
// Ottiene la dimensione del blocco di memoria $shm_size = shmop_size($shm_id); echo "Dimesione blocco creato: " . $shm_size . ".\n";
// Scrittura di una stringa di test nella memoria condivisa $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0); if ($shm_bytes_written != strlen("my shared memory block")) { echo "Non si riesce a scrivere tutti i dati\n"; }
// Ora si rilegge la stringa $my_string = shmop_read($shm_id, 0, $shm_size); if (!$my_string) { echo "Non si riesce a leggere dalla memoria condivisa\n"; } echo "I dati presenti nella memoria condivisa sono: ".$my_string."\n";
// Ora si cancella il blocco e si chiude il segmento di memoria condivisa if (!shmop_delete($shm_id)) { echo "Non si riesce a marcare il blocco di memoria condivisa per la cancellazione."; } shmop_close($shm_id); ?>
|
|