Installer Alternative PHP Cache (aka. APC) sur Ubuntu Dapper Drake
APC est un mécanisme de cache avancé permettant d'accélérer vos applications PHP. Il est vivement recommandé de l'utiliser lorsque vous développez avec le framework Symfony. Cet article vous explique comment l'installer sur Ubuntu Dapper Drake.
Rapide et incompréhensible
L'ensemble de cet article est résumé dans les lignes suivantes. Si vous êtes pressé, n'hésitez pas à les utiliser. Commencez par initialiser votre environnement sudo :
sudo echo
Copiez / collez ensuite les lignes suivantes dans votre terminal :
sudo apt-get -y install apache2-threaded-dev php5-dev php-pear make
sudo ln -s /usr/bin/apxs2 /usr/bin/apxs
sudo sh -c "sed -i -e \"/^ob_end_clean();$/i\
@ini_set('memory_limit', '16M');\" /usr/share/php/pearcmd.php"
sudo pecl install apc
sudo sh -c "echo '
extension=apc.so' >> /etc/php5/apache2/php.ini"
sudo /etc/init.d/apache2 restart
Installation
En premier lieu, il vous faut installer les paquets nécessaires à l'installation d'APC:
sudo apt-get install apache2-threaded-dev php5-dev php-pear make
Pour ne pas être ennuyé par PECL, nous créons un lien symbolique de apxs2 (pour Apache 2 sous Debian / Ubuntu) vers apxs (pour Apache 2 sous les autres distributions):
sudo ln -s /usr/bin/apxs2 /usr/bin/apxs
Pour éviter un problème de dépassement de limite mémoire lors de l'installation,
exécutez la ligne de commande suivante:
sudo sh -c "sed -i -e \"/^ob_end_clean();$/i\
@ini_set('memory_limit', '16M');\" /usr/share/php/pearcmd.php"
Nous téléchargeons et installons ensuite APC en utilisant PECL:
sudo pecl install apc
Remarque: J'ai bien essayé d'utiliser le fichier php.ini dédié à la ligne de commande, mais sans aucun effet sur le problème.
sudo sed -i -e 's/memory_limit = 8M/memory_limit = 16M/' /etc/php5/cli/php.ini
Configuration
Nous commençons par activer l'extension APC pour Apache 2:
sudo sh -c "echo '
extension=apc.so' >> /etc/php5/apache2/php.ini"
Nous redémarrons ensuite Apache 2 pour prendre en compte notre configuration.
sudo /etc/init.d/apache2 restart
Normallement, vous devriez maintenant disposer de l'accélération de vos script PHP via APC. Vous pouvez vous en assurer en utilisant la fonction :
phpinfo();
Remerciements
- Merci aux développeurs de Alternative PHP Cache.
- Merci à Khalid M. Baheyeldin pour son article Installing PHP APC on Ubuntu Dapper Drake (and Debian ?).
Juste un plus : inclussion de "apc.rfc1867 = on" sur php.ini
Je suis en train de suivre le tutorial pratique qui apparaisse sur le magazine phpsolutions de mars 2009 intitule "Barre de 'avancement de telechargement php".
Etant donnée que cette article n'est pas autocontenu (entre autres choses il n'explique pas la maniere d'installer PHP APC sur ubuntu raison pour lequel je suis a la lettre ton tutoriel), il y a qqchose qui me semble important remarquer:
A la fin tu modifies le fichier ini.php en introduisant la ligne "extension=apc.so" dans le tutoriel en plus de ca il indique de mettre aussi la ligne "apc.rfc1867 = on", redemarrer apache et verifier le php.info
Je cite : "Php ayant apporte le support de la RFC1867, a savoir la norme régissant l'envoi de fichier via le protocole HTTP, l'extension APC permet depuis la récupération d'un tableau d'information sur le téléchargement en cours"