PHP  »  Articoli  »  Programmazione Php 

Ottimizzare PHP con Alternative PHP Cache (APC)

di: Gabriele Farina     24 Maggio 2007

PHP è uno dei linguaggi di scripting per il web più diffuso; nonostante nasca da un progetto amatoriale di uno sviluppatore PERL, l'engine che risiede dietro il motore di compilazione ed esecuzione è stato modificato e migliorato in continuazione negli ultimi anni, sia per aggiungere nuove funzionalità per gli sviluppatori di estensioni, sia per rendere l'intero progetto molto più stabile e performante. Nonostante l'esecuzione di codice PHP non sia eccessivamente lenta, spesso si sente la necessità di poter sfruttare metodi che permettano di diminuire l'utilizzo di risorse sul server e facciano aumentare il numero di richieste gestite; parte di questi obiettivi possono essere raggiunti implementando operazioni di caching dell'output e di alcune richieste, ma spesso non basta.

In PHP, ogni volta che una pagina contenente del codice di scripting viene richiamata, questa viene analizzata e precompilata in codice intermedio, che successivamente viene leggermente ottimizzato ed eseguito. Come è possibile dedurre, il processo di compilazione ed ottimizzazione viene effettuato sempre, indipendentemente dal fatto che la pagina sia stata modificata o meno. Questo comporta una serie di rallentamenti che potrebbero essere evitati salvando in memoria il risultato dell'ottimizzazione come fanno alcuni altri linguaggi per lo sviluppo web (vedasi JSP per esempio).

APC (Alternative PHP Cache) è un'estensione nativa per PHP che svolge principalmente il compito di precompilare, ottimizzare e mantenere in memoria il codice intermedio associato agli script PHP in modo che venga bypassato questo passaggio dopo la prima richiesta effettuata ad un file PHP.

Installare e configurare la libreria

Probabilmente quando uscirà PHP 6 questi includerà nativamente il supporto ad APC, alla quale verranno fatte alcune migliorie ed ottimizzazioni al fine di adattarsi alle modifiche che verranno apportate allo Zend Engine. Aspettando quel tempo, possiamo comunque installare ed utilizzare APC poiché essa èuna libreria nativa compatibile sia con PHP 4 sia con PHP 5.

Il processo di installazione è il solito che si usa seguire quando è necessario aggiungere nuove librerie native per PHP. Nel caso di utenti Windows è possibile scaricare la DLL precompilata della libreria (che potete trovare direttamente sul sito di PHP), posizionarla all'interno della directory contenente le altre estensioni ed infine abilitarla da file php.ini utilizzando la direttiva

extension=php_apc.dll

Nel caso invece ci si trovi su Linux o su un altro ambiente Unix like, è possibile compilare manualmente la libreria attraverso il comando phpize. Per prima cosa recuperiamo i sorgenti dal sito di PECL e decomprimiamoli all'interno di una cartella del filesystem. Successivamente accediamo alla cartella ed eseguiamo le seguenti istruzioni (è possibile che alcune richiedano i permessi di root - oltretutto la directory in cui posizionare il modulo può dipendere dalle opzioni di compilazione e configurazione eseguire durante l'installazione di PHP):

phpize
./configure --enable-apc --enable-mmap
make
cp modules/apc.so /usr/local/lib/php

Indipendentemente dal sistema operativo che stiamo utilizzando è necessario riavviare il Web server affinché la libreria risulti disponibile per l'utilizzo.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti